49a9c60605
Better-Auth creates users via raw SQL INSERT (not through SQLAlchemy), so it bypasses ORM defaults and causes HTTP 500 on sign-up/sign-in. Adds PostgreSQL server_default so INSERT without email_inbound_token auto-generates a URL-safe token matching Python secrets.token_urlsafe(16). Co-Authored-By: Paperclip <noreply@paperclip.ing>
33 lines
745 B
Python
33 lines
745 B
Python
"""Add server_default to users.email_inbound_token.
|
|
|
|
Revision ID: 006_email_inbound_token_server_default
|
|
Revises: 005_add_email_inbound_token
|
|
Create Date: 2026-04-04
|
|
"""
|
|
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
|
|
revision = "006_email_inbound_token_server_default"
|
|
down_revision = "005_add_email_inbound_token"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.alter_column(
|
|
"users",
|
|
"email_inbound_token",
|
|
server_default=sa.text(
|
|
"replace(replace(trim(trailing '=' from encode(gen_random_bytes(16), 'base64')), '+', '-'), '/', '_')"
|
|
),
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.alter_column(
|
|
"users",
|
|
"email_inbound_token",
|
|
server_default=None,
|
|
)
|