"""fix_objectives_order Revision ID: 9b0736854b95 Revises: ef11ffd133c7 Create Date: 2020-10-21 09:15:55.146779 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '9b0736854b95' down_revision = 'ef11ffd133c7' branch_labels = None depends_on = None correct_objectives_dict = [ { "id": 1, "name": "App Promotion", "goal_id": 1 }, { "id": 2, "name": "Appreciation Engine", "goal_id": 1 }, { "id": 3, "name": "Conversions", "goal_id": 1 }, { "id": 4, "name": "Leads", "goal_id": 1 }, { "id": 5, "name": "Followers / Subscribers", "goal_id": 1 }, { "id": 6, "name": "Listeners", "goal_id": 2 }, { "id": 7, "name": "Sales", "goal_id": 2 }, { "id": 8, "name": "Streams", "goal_id": 2 }, { "id": 9, "name": "Brand Awareness", "goal_id": 3 }, { "id": 10, "name": "Clicks", "goal_id": 3 }, { "id": 11, "name": "Impressions", "goal_id": 3 }, { "id": 12, "name": "Messages", "goal_id": 3 }, { "id": 13, "name": "Reach", "goal_id": 3 }, { "id": 14, "name": "Reactions", "goal_id": 3 }, { "id": 15, "name": "Thruplays", "goal_id": 3 }, { "id": 16, "name": "Traffic", "goal_id": 3 }, { "id": 17, "name": "Video Views", "goal_id": 3 } ] def upgrade(): bind = op.get_bind() for objective in correct_objectives_dict: id = objective["id"] name = objective["name"] goal = objective["goal_id"] bind.execute(f'''UPDATE "CampaignObjective" SET name = '{name}', goal_id = {goal} WHERE id = {id}''') current_objectives_dict = [ { "id": 1, "name": "App Promotion", "goal_id": 1 }, { "id": 2, "name": "Conversions", "goal_id": 1 }, { "id": 3, "name": "Leads", "goal_id": 1 }, { "id": 4, "name": "Followers / Subscribers", "goal_id": 1 }, { "id": 5, "name": "Listeners", "goal_id": 2 }, { "id": 6, "name": "Sales", "goal_id": 2 }, { "id": 7, "name": "Streams", "goal_id": 2 }, { "id": 8, "name": "Brand Awareness", "goal_id": 3 }, { "id": 9, "name": "Clicks", "goal_id": 3 }, { "id": 10, "name": "Impressions", "goal_id": 3 }, { "id": 11, "name": "Messages", "goal_id": 3 }, { "id": 12, "name": "Reach", "goal_id": 3 }, { "id": 13, "name": "Reactions", "goal_id": 3 }, { "id": 14, "name": "Thruplays", "goal_id": 3 }, { "id": 15, "name": "Traffic", "goal_id": 3 }, { "id": 16, "name": "Video Views", "goal_id": 3 }, { "id": 17, "name": "Appreciation Engine", "goal_id": 1 } ] def downgrade(): bind = op.get_bind() for objective in current_objectives_dict: id = objective["id"] name = objective["name"] goal = objective["goal_id"] bind.execute(f'''UPDATE "CampaignObjective" SET name = '{name}', goal_id = {goal} WHERE id = {id}''')