"""add_campaign_metadata Revision ID: c17a50352e5c Revises: 81eea94ebf06 Create Date: 2020-09-21 10:50:49.025479 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = 'c17a50352e5c' down_revision = '81eea94ebf06' branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('Campaign', sa.Column('metainfo', sa.JSON(), nullable=False, server_default='{}')) bind = op.get_bind() bind.execute(''' UPDATE "Campaign" SET metainfo = '{"fields": {"budget": true, "spend": true, "startDate": true, "endDate": true, "genders": true, "audienceAge": true, "countries": true, "destinations": true, "notes": true}}' WHERE "Campaign".external_id IS Null ''') bind.execute(''' UPDATE "Campaign" SET metainfo = '{"fields": {"budget": true, "spend": true, "startDate": false, "endDate": true, "genders": false, "audienceAge": false, "countries": false, "destinations": false, "notes": true}}' WHERE "Campaign".external_id IS NOT Null AND "Campaign".end_date IS Null ''') bind.execute(''' UPDATE "Campaign" SET metainfo = '{"fields": {"budget": true, "spend": true, "startDate": false, "endDate": false, "genders": false, "audienceAge": false, "countries": false, "destinations": false, "notes": true}}' WHERE "Campaign".external_id IS NOT Null AND "Campaign".end_date IS NOT Null ''') # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_column('Campaign', 'metainfo') # ### end Alembic commands ###