"""add_fk_cascade_constraints Revision ID: 8283acd4cbcc Revises: a2b3c4d5e6f7 Create Date: 2026-03-29 13:55:46.488121 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = '8283acd4cbcc' down_revision: Union[str, Sequence[str], None] = 'a2b3c4d5e6f7' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" op.drop_constraint(op.f('cards_user_id_fkey'), 'cards', type_='foreignkey') op.create_foreign_key(op.f('cards_user_id_fkey'), 'cards', 'users', ['user_id'], ['id'], ondelete='CASCADE') op.drop_constraint(op.f('deck_cards_card_id_fkey'), 'deck_cards', type_='foreignkey') op.drop_constraint(op.f('deck_cards_deck_id_fkey'), 'deck_cards', type_='foreignkey') op.create_foreign_key(op.f('deck_cards_deck_id_fkey'), 'deck_cards', 'decks', ['deck_id'], ['id'], ondelete='CASCADE') op.create_foreign_key(op.f('deck_cards_card_id_fkey'), 'deck_cards', 'cards', ['card_id'], ['id'], ondelete='CASCADE') op.drop_constraint(op.f('decks_user_id_fkey'), 'decks', type_='foreignkey') op.create_foreign_key(op.f('decks_user_id_fkey'), 'decks', 'users', ['user_id'], ['id'], ondelete='CASCADE') def downgrade() -> None: """Downgrade schema.""" op.drop_constraint(op.f('decks_user_id_fkey'), 'decks', type_='foreignkey') op.create_foreign_key(op.f('decks_user_id_fkey'), 'decks', 'users', ['user_id'], ['id']) op.drop_constraint(op.f('deck_cards_deck_id_fkey'), 'deck_cards', type_='foreignkey') op.drop_constraint(op.f('deck_cards_card_id_fkey'), 'deck_cards', type_='foreignkey') op.create_foreign_key(op.f('deck_cards_deck_id_fkey'), 'deck_cards', 'decks', ['deck_id'], ['id']) op.create_foreign_key(op.f('deck_cards_card_id_fkey'), 'deck_cards', 'cards', ['card_id'], ['id']) op.drop_constraint(op.f('cards_user_id_fkey'), 'cards', type_='foreignkey') op.create_foreign_key(op.f('cards_user_id_fkey'), 'cards', 'users', ['user_id'], ['id'])