from migrations.fixtures.delphi_tables.v3.tables import DelphiTables from migrations.fixtures.delphi_tables.v1.data_migrator import DataMigrator from migrations.fixtures.delphi_tables.views import DelphiViewsV3 from migrations.fixtures.delphi_tables.v1.trigger_migrator import TriggerMigrator from migrations.fixtures.delphi_tables.v1.triggers.label_trigger import LabelTrigger from migrations.fixtures.delphi_tables.v1.triggers.campaign_type_group_trigger import CampaignTypeGroupTrigger from migrations.fixtures.delphi_tables.v1.triggers.campaign_type_value_trigger import CampaignTypeValueTrigger from migrations.fixtures.delphi_tables.v1.triggers.campaign_objective_trigger import CampaignObjectiveTrigger from migrations.fixtures.delphi_tables.v1.triggers.campaign_provider_trigger import CampaignProviderTrigger from migrations.fixtures.delphi_tables.v1.triggers.user_label_trigger import UserLabelTrigger from migrations.fixtures.delphi_tables.v1.triggers.campaign_type_trigger import CampaignTypeTrigger from migrations.fixtures.delphi_tables.v1.triggers.linkfire_campaign_trigger import LinkfireCampaignTrigger from migrations.fixtures.delphi_tables.v3.triggers.project_phase_trigger import ProjectPhaseTrigger from migrations.fixtures.delphi_tables.v3.triggers.project_target_item_trigger import ProjectTargetItemTrigger from migrations.fixtures.delphi_tables.v3.triggers.project_campaign_trigger import ProjectCampaignTrigger from migrations.fixtures.delphi_tables.v3.triggers.linkfire_project_trigger import LinkfireProjectTrigger from migrations.fixtures.delphi_tables.v3.triggers.project_trigger import ProjectTrigger from migrations.fixtures.delphi_tables.v3.triggers.user_project_trigger import UserProjectTrigger from migrations.fixtures.delphi_tables.v3.triggers.artist_team_user_trigger import ArtistTeamUserTrigger from migrations.fixtures.delphi_tables.v3.triggers.campaign_trigger import CampaignTrigger class DelphiTablesDataRefresher: triggers = [ CampaignObjectiveTrigger, CampaignProviderTrigger, CampaignTrigger, CampaignTypeGroupTrigger, CampaignTypeTrigger, CampaignTypeValueTrigger, LabelTrigger, LinkfireCampaignTrigger, LinkfireProjectTrigger, ProjectCampaignTrigger, ProjectPhaseTrigger, ProjectTargetItemTrigger, ProjectTrigger, UserLabelTrigger, UserProjectTrigger, ArtistTeamUserTrigger, ] def refresh(self, bind): delphi_views = DelphiViewsV3(bind) delphi_views.drop() delphi_views.create() bind.execute(delphi_views.linkfire_campaign_view()) bind.execute(delphi_views.linkfire_project_view()) delphi_tables = DelphiTables(bind) delphi_tables.drop() delphi_tables.create() for klass in self.triggers: TriggerMigrator(bind, klass()).rollback() TriggerMigrator(bind, klass()).upgrade() data_migrator = DataMigrator(bind) data_migrator.execute() data_migrator.refresh_linkfire_tables() delphi_tables.reindex() def drop_triggers(self, bind): for klass in self.triggers: TriggerMigrator(bind, klass()).rollback()