from migrations.fixtures.delphi_tables.v6.tables import DelphiTables from migrations.fixtures.delphi_tables.v6.data_migrator import DataMigrator from migrations.fixtures.delphi_tables.views import DelphiViewsV6 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_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.linkfire_campaign_trigger import LinkfireCampaignTrigger from migrations.fixtures.delphi_tables.v5.triggers.campaign_platforms_links_trigger import CampaignPlatformsLinksTrigger from migrations.fixtures.delphi_tables.v5.triggers.campaign_types_trigger import CampaignTypesTrigger from migrations.fixtures.delphi_tables.v5.triggers.campaign_type_group_trigger import CampaignTypeGroupTrigger from migrations.fixtures.delphi_tables.v5.triggers.project_target_item_trigger import ProjectTargetItemTrigger from migrations.fixtures.delphi_tables.v5.triggers.linkfire_project_trigger import LinkfireProjectTrigger from migrations.fixtures.delphi_tables.v5.triggers.project_trigger import ProjectTrigger from migrations.fixtures.delphi_tables.v5.triggers.user_project_trigger import UserProjectTrigger from migrations.fixtures.delphi_tables.v5.triggers.artist_team_user_trigger import ArtistTeamUserTrigger from migrations.fixtures.delphi_tables.v6.triggers.project_campaign_trigger import ProjectCampaignTrigger from migrations.fixtures.delphi_tables.v6.triggers.campaign_trigger import CampaignTrigger class DelphiTablesDataRefresher: triggers = [ CampaignObjectiveTrigger, CampaignProviderTrigger, CampaignTrigger, CampaignTypeGroupTrigger, CampaignTypesTrigger, CampaignPlatformsLinksTrigger, LabelTrigger, LinkfireCampaignTrigger, LinkfireProjectTrigger, ProjectCampaignTrigger, ProjectTargetItemTrigger, ProjectTrigger, UserLabelTrigger, UserProjectTrigger, ArtistTeamUserTrigger, ] def refresh(self, bind): delphi_views = DelphiViewsV6(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()