"""remove_gras_project_model Revision ID: 4eaee469748b Revises: 40c29bfde73f Create Date: 2021-04-06 10:59:23.985702 """ from alembic import op import sqlalchemy as sa from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. revision = '4eaee469748b' down_revision = '40c29bfde73f' branch_labels = None depends_on = None def upgrade(): op.drop_constraint('fk_GRASProjectProductFamily_project_id_Project', 'GRASProjectProductFamily', type_='foreignkey') op.create_foreign_key(op.f('fk_GRASProjectProductFamily_project_id_Project'), 'GRASProjectProductFamily', 'Project', ['project_id'], ['id'], ondelete='CASCADE') op.drop_constraint('fk_PRSProjectBudget_project_id_Project', 'PRSProjectBudget', type_='foreignkey') op.create_foreign_key(op.f('fk_PRSProjectBudget_project_id_Project'), 'PRSProjectBudget', 'Project', ['project_id'], ['id'], ondelete='CASCADE') op.drop_constraint('fk_PRSPurchaseOrder_project_id_Project', 'PRSPurchaseOrder', type_='foreignkey') op.create_foreign_key(op.f('fk_PRSPurchaseOrder_project_id_Project'), 'PRSPurchaseOrder', 'Project', ['project_id'], ['id'], ondelete='CASCADE') op.alter_column('Project', 'gras_project_code', existing_type=sa.VARCHAR(), nullable=False) op.drop_index('ix_Project_gras_project_id', table_name='Project') op.drop_constraint('uq_Project_prs_project_code', 'Project', type_='unique') op.drop_constraint('fk_Project_gras_project_id_GRASProject', 'Project', type_='foreignkey') op.drop_column('Project', 'gras_project_id') op.drop_constraint('uq_ProjectCampaign_project_id_campaign_id', 'ProjectCampaign', type_='unique') op.create_unique_constraint('uq_ProjectCampaign_gras_project_id_campaign_id', 'ProjectCampaign', ['project_id', 'campaign_id']) op.drop_constraint('fk_ProjectCampaign_campaign_id_Campaign', 'ProjectCampaign', type_='foreignkey') op.drop_constraint('fk_ProjectCampaign_project_id_Project', 'ProjectCampaign', type_='foreignkey') op.create_foreign_key(op.f('fk_ProjectCampaign_campaign_id_Campaign'), 'ProjectCampaign', 'Campaign', ['campaign_id'], ['id'], ondelete='CASCADE') op.create_foreign_key(op.f('fk_ProjectCampaign_project_id_Project'), 'ProjectCampaign', 'Project', ['project_id'], ['id'], ondelete='CASCADE') op.drop_table('GRASProjectArtist') op.drop_table('GRASProject') def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_constraint(op.f('fk_ProjectCampaign_project_id_Project'), 'ProjectCampaign', type_='foreignkey') op.drop_constraint(op.f('fk_ProjectCampaign_campaign_id_Campaign'), 'ProjectCampaign', type_='foreignkey') op.create_foreign_key('fk_ProjectCampaign_project_id_Project', 'ProjectCampaign', 'Project', ['project_id'], ['id']) op.create_foreign_key('fk_ProjectCampaign_campaign_id_Campaign', 'ProjectCampaign', 'Campaign', ['campaign_id'], ['id']) op.drop_constraint('uq_ProjectCampaign_gras_project_id_campaign_id', 'ProjectCampaign', type_='unique') op.create_unique_constraint('uq_ProjectCampaign_project_id_campaign_id', 'ProjectCampaign', ['project_id', 'campaign_id']) op.add_column('Project', sa.Column('gras_project_id', sa.BIGINT(), autoincrement=False, nullable=True)) op.create_foreign_key('fk_Project_gras_project_id_GRASProject', 'Project', 'GRASProject', ['gras_project_id'], ['id'], ondelete='CASCADE') op.create_unique_constraint('uq_Project_prs_project_code', 'Project', ['prs_project_code']) op.create_index('ix_Project_gras_project_id', 'Project', ['gras_project_id'], unique=False) op.alter_column('Project', 'gras_project_code', existing_type=sa.VARCHAR(), nullable=True) op.drop_constraint(op.f('fk_PRSPurchaseOrder_project_id_Project'), 'PRSPurchaseOrder', type_='foreignkey') op.create_foreign_key('fk_PRSPurchaseOrder_project_id_Project', 'PRSPurchaseOrder', 'Project', ['project_id'], ['id']) op.drop_constraint(op.f('fk_PRSProjectBudget_project_id_Project'), 'PRSProjectBudget', type_='foreignkey') op.create_foreign_key('fk_PRSProjectBudget_project_id_Project', 'PRSProjectBudget', 'Project', ['project_id'], ['id']) op.drop_constraint(op.f('fk_GRASProjectProductFamily_project_id_Project'), 'GRASProjectProductFamily', type_='foreignkey') op.create_foreign_key('fk_GRASProjectProductFamily_project_id_Project', 'GRASProjectProductFamily', 'Project', ['project_id'], ['id']) op.create_table('GRASProjectArtist', sa.Column('id', sa.BIGINT(), server_default=sa.text('nextval(\'"GRASProjectArtist_id_seq"\'::regclass)'), autoincrement=True, nullable=False), sa.Column('gras_project_id', sa.BIGINT(), autoincrement=False, nullable=False), sa.Column('artist_id', sa.BIGINT(), autoincrement=False, nullable=False), sa.Column('type', sa.BIGINT(), autoincrement=False, nullable=False), sa.Column('source', sa.INTEGER(), server_default=sa.text('0'), autoincrement=False, nullable=False), sa.ForeignKeyConstraint(['artist_id'], ['Artist.id'], name='fk_GRASProjectArtist_label_id_Artist', ondelete='CASCADE'), sa.ForeignKeyConstraint(['gras_project_id'], ['GRASProject.id'], name='fk_GRASProjectArtist_gras_project_id_GRASProject', ondelete='CASCADE'), sa.PrimaryKeyConstraint('id', name='pk_GRASProjectArtist'), sa.UniqueConstraint('gras_project_id', 'artist_id', name='uq_GRASProjectArtist_gras_project_id_artist_id') ) op.create_table('GRASProject', sa.Column('id', sa.BIGINT(), server_default=sa.text('nextval(\'"GRASProject_id_seq"\'::regclass)'), autoincrement=True, nullable=False), sa.Column('external_id', sa.VARCHAR(), autoincrement=False, nullable=False), sa.Column('title', sa.VARCHAR(), autoincrement=False, nullable=False), sa.Column('start_date', sa.DATE(), autoincrement=False, nullable=True), sa.Column('is_deleted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=False), sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), sa.Column('label_id', sa.INTEGER(), autoincrement=False, nullable=False), sa.Column('is_claimed', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=False), sa.Column('allocation', sa.NUMERIC(precision=12, scale=2), autoincrement=False, nullable=True), sa.Column('budget', sa.NUMERIC(precision=12, scale=2), autoincrement=False, nullable=True), sa.Column('end_date', sa.DATE(), autoincrement=False, nullable=True), sa.Column('source', sa.BIGINT(), server_default=sa.text("'0'::bigint"), autoincrement=False, nullable=False), sa.Column('is_protected', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=False), sa.Column('prs_project_code', sa.VARCHAR(), autoincrement=False, nullable=True), sa.Column('prs_title', sa.VARCHAR(), autoincrement=False, nullable=True), sa.Column('prs_updated_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), sa.ForeignKeyConstraint(['label_id'], ['Label.id'], name='fk_GRASProject_label_id_Label'), sa.PrimaryKeyConstraint('id', name='pk_GRASProject'), sa.UniqueConstraint('prs_project_code', name='uq_GRASProject_prs_project_code') ) # ### end Alembic commands ###