"""add_new_campaign_metadata_fields Revision ID: 8f7bd3021fa2 Revises: be737f96f8cc Create Date: 2021-02-26 10:59:25.311165 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '8f7bd3021fa2' down_revision = 'be737f96f8cc' branch_labels = None depends_on = None def upgrade(): bind = op.get_bind() bind.execute(''' UPDATE "Campaign" SET metainfo = json_build_object('fields', (metainfo->'fields')::jsonb || '{"name": false, "provider": false, "objective": false, "campaignTypes": false}'::jsonb) WHERE external_id is not null ''') bind.execute(''' UPDATE "Campaign" SET metainfo = json_build_object('fields', (metainfo->'fields')::jsonb || '{"name": true, "provider": true, "objective": true, "campaignTypes": true}'::jsonb) WHERE external_id is null ''') def downgrade(): bind = op.get_bind() bind.execute(''' UPDATE "Campaign" SET metainfo = metainfo::jsonb #- '{fields, name}' #- '{fields, provider}' #- '{fields, objective}' #- '{fields, campaignTypes}'; ''')