"""add_indexes_to_optimize_join_conditions Revision ID: 1c7fe8b8e99b Revises: bb7e9cb8760d Create Date: 2021-02-11 10:41:34.745188 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '1c7fe8b8e99b' down_revision = 'bb7e9cb8760d' branch_labels = None depends_on = None def upgrade(): # UserLabel Table op.create_index(op.f("ix_UserLabel_user_id"), "UserLabel", ['user_id']) op.create_index(op.f("ix_UserLabel_label_id"), "UserLabel", ['label_id']) # Project Table op.create_index(op.f("ix_Project_gras_project_id"), "Project", ['gras_project_id']) op.create_index(op.f("ix_Project_owner_id"), "Project", ['owner_id']) # GRASProject Table op.create_index(op.f("ix_GRASProject_external_id"), "GRASProject", ['external_id']) # ProjectTargetItem op.create_index(op.f("ix_ProjectTargetItem_entity_id"), "ProjectTargetItem", ['entity_id']) op.create_index( op.f("ix_ProjectTargetItem_project_id_is_deleted_entity_type"), "ProjectTargetItem", ['project_id', 'is_deleted', 'entity_type'] ) # Campaign op.create_index(op.f("ix_Campaign_project_id"), "Campaign", ['project_id']) op.create_index(op.f("ix_Campaign_provider_id"), "Campaign", ['provider_id']) op.create_index(op.f("ix_Campaign_objective_id"), "Campaign", ['objective_id']) op.create_index(op.f("ix_Campaign_external_marketing_account_id"), "Campaign", ['external_marketing_account_id']) # CampaignType op.create_index(op.f("ix_CampaignType_campaign_id"), "CampaignType", ['campaign_id']) op.create_index(op.f("ix_CampaignType_category_id"), "CampaignType", ['category_id']) op.create_index(op.f("ix_CampaignType_value_id"), "CampaignType", ['value_id']) # CampaignTypeCategory op.create_index(op.f("ix_CampaignTypeCategory_name"), "CampaignTypeCategory", ['name']) # ProjectPhase op.create_index(op.f("ix_ProjectPhase_project_id"), "ProjectPhase", ['project_id']) # GRASProjectCampaign op.create_index(op.f("ix_GRASProjectCampaign_gras_project_id"), "GRASProjectCampaign", ['gras_project_id']) # UserProject op.create_index(op.f("ix_UserProject_user_id"), "UserProject", ['user_id']) # MarketingAccount op.create_index(op.f("ix_MarketingAccount_external_id"), "MarketingAccount", ['external_id']) op.execute( """ REINDEX TABLE "UserLabel"; REINDEX TABLE "Project"; REINDEX TABLE "GRASProject"; REINDEX TABLE "ProjectTargetItem"; REINDEX TABLE "Campaign"; REINDEX TABLE "CampaignType"; REINDEX TABLE "ProjectPhase"; REINDEX TABLE "GRASProjectCampaign"; REINDEX TABLE "GRASProjectCampaign"; REINDEX TABLE "UserProject"; REINDEX TABLE "MarketingAccount"; """ ) def downgrade(): # UserLabel Table op.drop_index(op.f("ix_UserLabel_user_id")) op.drop_index(op.f("ix_UserLabel_label_id")) # Project Table op.drop_index(op.f("ix_Project_gras_project_id")) op.drop_index(op.f("ix_Project_owner_id")) # GRASProject Table op.drop_index(op.f("ix_GRASProject_external_id")) # ProjectTargetItem op.drop_index(op.f("ix_ProjectTargetItem_entity_id")) op.drop_index(op.f("ix_ProjectTargetItem_project_id_is_deleted_entity_type")) # Campaign op.drop_index(op.f("ix_Campaign_project_id")) op.drop_index(op.f("ix_Campaign_provider_id")) op.drop_index(op.f("ix_Campaign_objective_id")) op.drop_index(op.f("ix_Campaign_external_marketing_account_id")) # CampaignType op.drop_index(op.f("ix_CampaignType_campaign_id")) op.drop_index(op.f("ix_CampaignType_category_id")) op.drop_index(op.f("ix_CampaignType_value_id")) # CampaignTypeCategory op.drop_index(op.f("ix_CampaignTypeCategory_name")) # ProjectPhase op.drop_index(op.f("ix_ProjectPhase_project_id")) # GRASProjectCampaign op.drop_index(op.f("ix_GRASProjectCampaign_gras_project_id")) # UserProject op.drop_index(op.f("ix_UserProject_user_id")) # MarketingAccount op.drop_index(op.f("ix_MarketingAccount_external_id"))