"""add_anonymous_gdpr_support Revision ID: 6f7f8689fc98 Revises: 7a899ef55e3b Create Date: 2025-12-01 04:15:00.000000 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '6f7f8689fc98' down_revision = '7a899ef55e3b' branch_labels = None depends_on = None def upgrade() -> None: # Update gdpr_requests table to support anonymous users op.alter_column('gdpr_requests', 'user_id', existing_type=sa.Integer(), nullable=True) op.add_column('gdpr_requests', sa.Column('is_anonymous', sa.Boolean(), nullable=False, server_default='0')) op.create_index(op.f('ix_gdpr_requests_is_anonymous'), 'gdpr_requests', ['is_anonymous'], unique=False) # Update consents table to support anonymous users op.alter_column('consents', 'user_id', existing_type=sa.Integer(), nullable=True) op.add_column('consents', sa.Column('user_email', sa.String(length=255), nullable=True)) op.add_column('consents', sa.Column('is_anonymous', sa.Boolean(), nullable=False, server_default='0')) op.create_index(op.f('ix_consents_user_email'), 'consents', ['user_email'], unique=False) op.create_index(op.f('ix_consents_is_anonymous'), 'consents', ['is_anonymous'], unique=False) def downgrade() -> None: op.drop_index(op.f('ix_consents_is_anonymous'), table_name='consents') op.drop_index(op.f('ix_consents_user_email'), table_name='consents') op.drop_column('consents', 'is_anonymous') op.drop_column('consents', 'user_email') op.alter_column('consents', 'user_id', existing_type=sa.Integer(), nullable=False) op.drop_index(op.f('ix_gdpr_requests_is_anonymous'), table_name='gdpr_requests') op.drop_column('gdpr_requests', 'is_anonymous') op.alter_column('gdpr_requests', 'user_id', existing_type=sa.Integer(), nullable=False)