"""removing_projects_phases Revision ID: 841bd7438704 Revises: e2cc39f66d0c Create Date: 2022-11-10 11:02:16.902085 """ from alembic import op import sqlalchemy as sa from sqlalchemy.dialects import postgresql from migrations.fixtures.delphi_tables.v5.data_refresher import DelphiTablesDataRefresher as DelphiTablesDataRefresherv5 from migrations.fixtures.delphi_tables.v6.data_refresher import DelphiTablesDataRefresher as DelphiTablesDataRefresherv6 from migrations.fixtures.delphi_tables.views import DelphiViewsV5 # revision identifiers, used by Alembic. revision = '841bd7438704' down_revision = 'e2cc39f66d0c' branch_labels = None depends_on = None def upgrade(): bind = op.get_bind() delphi_views = DelphiViewsV5(bind) delphi_views.drop() delphi_refresherv5 = DelphiTablesDataRefresherv5() delphi_refresherv5.drop_triggers(bind) bind.execute('drop index if exists ix_ProjectPhase_project_id') op.drop_column('Campaign', 'project_phase_id') op.drop_table('ProjectPhase') delphi_refresherv6 = DelphiTablesDataRefresherv6() delphi_refresherv6.refresh(bind) def downgrade(): bind = op.get_bind() delphi_refresherv6 = DelphiTablesDataRefresherv6() delphi_refresherv6.drop_triggers(bind) op.add_column('Campaign', sa.Column('project_phase_id', sa.INTEGER(), autoincrement=False, nullable=True)) op.create_table('ProjectPhase', sa.Column('id', sa.INTEGER(), server_default=sa.text('nextval(\'"ProjectPhase_id_seq"\'::regclass)'), autoincrement=True, nullable=False), sa.Column('name', sa.VARCHAR(), autoincrement=False, nullable=False), sa.Column('project_id', sa.BIGINT(), autoincrement=False, nullable=False), sa.Column('order', sa.INTEGER(), autoincrement=False, nullable=True), sa.Column('asset', postgresql.JSON(astext_type=sa.Text()), autoincrement=False, nullable=True), sa.Column('objective_text', sa.VARCHAR(), autoincrement=False, nullable=True), sa.ForeignKeyConstraint(['project_id'], ['Project.id'], name='fk_ProjectPhase_project_id_Project', ondelete='CASCADE'), sa.PrimaryKeyConstraint('id', name='pk_ProjectPhase'), sa.UniqueConstraint('project_id', 'order', name='uq_ProjectPhase_project_id_order') ) op.create_foreign_key('fk_Campaign_project_phase_id_ProjectPhase', 'Campaign', 'ProjectPhase', ['project_phase_id'], ['id'], ondelete='RESTRICT') op.create_index('ix_ProjectPhase_project_id', 'ProjectPhase', ['project_id'], unique=False) delphi_refresherv5 = DelphiTablesDataRefresherv5() delphi_refresherv5.refresh(bind)