"""Init DB Revision ID: 9ffbd6612b09 Revises: Create Date: 2019-04-24 15:48:37.101388 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '9ffbd6612b09' down_revision = None branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'Artist', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=200), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_Artist')), sa.UniqueConstraint('name', name=op.f('uq_Artist_name')) ) op.create_table( 'CampaignType', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_CampaignType')) ) op.create_table( 'Contact', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=200), nullable=False), sa.Column('email', sa.String(length=100), nullable=False), sa.Column('phone', sa.String(length=50), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_Contact')), sa.UniqueConstraint( 'name', 'email', 'phone', name=op.f('uq_Contact_name')) ) op.create_table( 'Currency', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.Column('code', sa.String(length=3), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_Currency')) ) op.create_table( 'Label', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_Label')) ) op.create_table( 'RecordType', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_RecordType')) ) op.create_table( 'TerritoryType', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_TerritoryType')) ) op.create_table( 'CampaignTypeDetail', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.Column('is_text', sa.Boolean(), nullable=False), sa.Column('campaign_type_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['campaign_type_id'], ['CampaignType.id'], name=op.f('fk_CampaignTypeDetail_campaign_type_id_CampaignType') ), sa.PrimaryKeyConstraint('id', name=op.f('pk_CampaignTypeDetail')) ) op.create_table( 'Record', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('name', sa.String(length=200), nullable=False), sa.Column('artist_id', sa.Integer(), nullable=False), sa.Column('record_type_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['artist_id'], ['Artist.id'], name=op.f('fk_Record_artist_id_Artist'), ondelete='CASCADE' ), sa.ForeignKeyConstraint( ['record_type_id'], ['RecordType.id'], name=op.f('fk_Record_record_type_id_RecordType') ), sa.PrimaryKeyConstraint('id', name=op.f('pk_Record')), sa.UniqueConstraint( 'name', 'artist_id', 'record_type_id', name=op.f('uq_Record_name')) ) op.create_table( 'Territory', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.Column('territory_type_id', sa.Integer(), nullable=False), sa.Column('parent_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['parent_id'], ['Territory.id'], name=op.f('fk_Territory_parent_id_Territory') ), sa.ForeignKeyConstraint( ['territory_type_id'], ['TerritoryType.id'], name=op.f('fk_Territory_territory_type_id_TerritoryType') ), sa.PrimaryKeyConstraint('id', name=op.f('pk_Territory')) ) op.create_table( 'Campaign', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('name', sa.String(length=200), nullable=False), sa.Column('start_date', sa.DateTime(), nullable=False), sa.Column('end_date', sa.DateTime(), nullable=False), sa.Column('label_id', sa.Integer(), nullable=False), sa.Column('record_id', sa.BigInteger(), nullable=False), sa.Column( 'planned_budget', sa.Numeric(precision=12, scale=2), nullable=False ), sa.Column( 'actual_budget', sa.Numeric(precision=12, scale=2), nullable=False ), sa.Column('currency_id', sa.Integer(), nullable=False), sa.Column('campaign_type_id', sa.Integer(), nullable=False), sa.Column('contact_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['campaign_type_id'], ['CampaignType.id'], name=op.f('fk_Campaign_campaign_type_id_CampaignType') ), sa.ForeignKeyConstraint( ['contact_id'], ['Contact.id'], name=op.f('fk_Campaign_contact_id_Contact') ), sa.ForeignKeyConstraint( ['currency_id'], ['Currency.id'], name=op.f('fk_Campaign_currency_id_Currency') ), sa.ForeignKeyConstraint( ['label_id'], ['Label.id'], name=op.f('fk_Campaign_label_id_Label') ), sa.ForeignKeyConstraint( ['record_id'], ['Record.id'], name=op.f('fk_Campaign_record_id_Record') ), sa.PrimaryKeyConstraint('id', name=op.f('pk_Campaign')) ) op.create_table( 'CampaignTypeDetailItem', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=50), nullable=False), sa.Column('campaign_type_detail_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['campaign_type_detail_id'], ['CampaignTypeDetail.id'], name=op.f('fk_CampaignTypeDetailItem_campaign_type_detail_id_CampaignTypeDetail') ), sa.PrimaryKeyConstraint('id', name=op.f('pk_CampaignTypeDetailItem')) ) op.create_table( 'CampaignCampaignTypeDetailItem', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('campaign_id', sa.BigInteger(), nullable=False), sa.Column('campaign_type_detail_id', sa.Integer(), nullable=False), sa.Column( 'campaign_type_detail_item_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['campaign_id'], ['Campaign.id'], name=op.f( 'fk_CampaignCampaignTypeDetailItem_campaign_id_Campaign'), ondelete='CASCADE' ), sa.ForeignKeyConstraint( ['campaign_type_detail_id'], ['CampaignTypeDetail.id'], name=op.f('fk_CampaignCampaignTypeDetailItem_campaign_type_detail_id_CampaignTypeDetail') ), sa.ForeignKeyConstraint( ['campaign_type_detail_item_id'], ['CampaignTypeDetailItem.id'], name=op.f('fk_CampaignCampaignTypeDetailItem_campaign_type_detail_item_id_CampaignTypeDetailItem') ), sa.PrimaryKeyConstraint( 'id', name=op.f('pk_CampaignCampaignTypeDetailItem')) ) op.create_table( 'CampaignCampaignTypeDetailText', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('campaign_id', sa.BigInteger(), nullable=False), sa.Column('campaign_type_detail_id', sa.Integer(), nullable=False), sa.Column('value', sa.String(length=200), nullable=False), sa.ForeignKeyConstraint( ['campaign_id'], ['Campaign.id'], name=op.f( 'fk_CampaignCampaignTypeDetailText_campaign_id_Campaign'), ondelete='CASCADE' ), sa.ForeignKeyConstraint( ['campaign_type_detail_id'], ['CampaignTypeDetail.id'], name=op.f('fk_CampaignCampaignTypeDetailText_campaign_type_detail_id_CampaignTypeDetail') ), sa.PrimaryKeyConstraint( 'id', name=op.f('pk_CampaignCampaignTypeDetailText')) ) op.create_table( 'CampaignTerritory', sa.Column('campaign_id', sa.BigInteger(), nullable=False), sa.Column('territory_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['campaign_id'], ['Campaign.id'], name=op.f('fk_CampaignTerritory_campaign_id_Campaign'), ondelete='CASCADE' ), sa.ForeignKeyConstraint( ['territory_id'], ['Territory.id'], name=op.f('fk_CampaignTerritory_territory_id_Territory') ), sa.PrimaryKeyConstraint( 'campaign_id', 'territory_id', name=op.f('pk_CampaignTerritory') ) ) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_table('CampaignTerritory') op.drop_table('CampaignCampaignTypeDetailText') op.drop_table('CampaignCampaignTypeDetailItem') op.drop_table('CampaignTypeDetailItem') op.drop_table('Campaign') op.drop_table('Territory') op.drop_table('Record') op.drop_table('CampaignTypeDetail') op.drop_table('TerritoryType') op.drop_table('RecordType') op.drop_table('Label') op.drop_table('Currency') op.drop_table('Contact') op.drop_table('CampaignType') op.drop_table('Artist') # ### end Alembic commands ###