"""store register bonus balance snapshot and remove first_user_id fk Revision ID: 20260413_0004 Revises: 20260411_0005 Create Date: 2026-04-13 00:10:00 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = "20260413_0004" down_revision: Union[str, Sequence[str], None] = "20260411_0005" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.execute( "ALTER TABLE register_bonus_claims DROP CONSTRAINT IF EXISTS register_bonus_claims_first_user_id_fkey" ) op.drop_column("register_bonus_claims", "first_user_id") op.add_column( "register_bonus_claims", sa.Column("first_user_id_snapshot", sa.UUID(), nullable=True), ) op.add_column( "register_bonus_claims", sa.Column("balance_snapshot", sa.BigInteger(), nullable=True), ) def downgrade() -> None: op.drop_column("register_bonus_claims", "balance_snapshot") op.drop_column("register_bonus_claims", "first_user_id_snapshot") op.add_column( "register_bonus_claims", sa.Column("first_user_id", sa.UUID(), nullable=True), ) op.create_foreign_key( "register_bonus_claims_first_user_id_fkey", "register_bonus_claims", "users", ["first_user_id"], ["id"], source_schema="public", referent_schema="auth", ondelete="SET NULL", )