Files
Hotel-Booking/Backend/alembic/versions/6f7f8689fc98_add_anonymous_gdpr_support.py
Iliyan Angelov 62c1fe5951 updates
2025-12-01 06:50:10 +02:00

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)