51 lines
1.9 KiB
Python
51 lines
1.9 KiB
Python
"""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)
|