from migrations.fixtures.delphi_tables.v1.data_migrator import DataMigrator as DataMigratorV1 class DataMigrator(DataMigratorV1): def __init__(self, bind): self.bind = bind def execute(self, view_prefix=None): self.bind.execute(f""" insert into projects(id, gras_id, name, budget, decibel_label_id, is_confidential, end_date, start_date) select id, gras_id, name, budget, decibel_label_id, is_confidential, end_date, start_date from {self.__view_name(view_prefix, 'projects_view')} ON CONFLICT (id) DO NOTHING; insert into campaigns(id, name, budget, spend, provider_id, start_date, end_date, is_pending, objective_id, decibel_label_id, category_id, sub_category_id) select id, name, budget, spend, provider_id, start_date, end_date, is_pending, objective_id, decibel_label_id, category_id, sub_category_id from {self.__view_name(view_prefix, 'campaigns_view')} ON CONFLICT (id) DO NOTHING; insert into project_artists(project_id, artist_id) select project_id, artist_id from {self.__view_name(view_prefix, 'project_artists_view')}; insert into project_campaigns(project_id, campaign_id) select project_id, campaign_id from {self.__view_name(view_prefix, 'project_campaigns_view')}; insert into user_projects(project_id, user_id) select project_id, user_id from {self.__view_name(view_prefix, 'user_projects_view')}; insert into user_labels(user_id, decibel_label_id) select user_id, decibel_label_id from {self.__view_name(view_prefix, 'user_labels_view')}; insert into decibel_labels(id, name) select id, name from {self.__view_name(view_prefix, 'decibel_labels_view')}; insert into phases(id, name, project_id) select id, name, project_id from {self.__view_name(view_prefix, 'phases_view')}; insert into phase_campaigns(campaign_id, phase_id) select campaign_id, phase_id from {self.__view_name(view_prefix, 'phase_campaigns_view')}; insert into campaign_sub_category(id, name) select id, name from {self.__view_name(view_prefix, 'campaign_sub_category_view')}; insert into campaign_provider(id, name) select id, name from {self.__view_name(view_prefix, 'campaign_provider_view')}; insert into campaign_objective(id, name) select id, name from {self.__view_name(view_prefix, 'campaign_objective_view')}; insert into campaign_category(id, name) select id, name from {self.__view_name(view_prefix, 'campaign_category_view')}; insert into campaign_platforms(campaign_id, name) select campaign_id, name from {self.__view_name(view_prefix, 'campaign_platforms_view')}; insert into linkfire_link_project(project_id, link_id) select project_id, link_id::uuid from {self.__view_name(view_prefix, 'linkfire_link_project_view')}; insert into linkfire_link_campaign(campaign_id, link_id) select campaign_id, link_id::uuid from {self.__view_name(view_prefix, 'linkfire_link_campaign_view')}; """)