"""add password_reset_tokens table Revision ID: t8b9c0d1e2f3 Revises: s7a8b9c0d1e2 Create Date: 2026-01-03 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = "t8b9c0d1e2f3" down_revision = "s7a8b9c0d1e2" branch_labels = None depends_on = None def upgrade() -> None: op.create_table( "password_reset_tokens", sa.Column("id", sa.Integer(), nullable=False), sa.Column("customer_id", sa.Integer(), nullable=False), sa.Column("token_hash", sa.String(64), nullable=False), sa.Column("expires_at", sa.DateTime(), nullable=False), sa.Column("used_at", sa.DateTime(), nullable=True), sa.Column( "created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False ), sa.ForeignKeyConstraint( ["customer_id"], ["customers.id"], ondelete="CASCADE", ), sa.PrimaryKeyConstraint("id"), ) op.create_index( "ix_password_reset_tokens_customer_id", "password_reset_tokens", ["customer_id"], ) op.create_index( "ix_password_reset_tokens_token_hash", "password_reset_tokens", ["token_hash"], ) def downgrade() -> None: op.drop_index("ix_password_reset_tokens_token_hash", table_name="password_reset_tokens") op.drop_index("ix_password_reset_tokens_customer_id", table_name="password_reset_tokens") op.drop_table("password_reset_tokens")