from migrations.fixtures.delphi_tables.v8.triggers.base_trigger import BaseTrigger, TriggerType class AdAccountTrigger(BaseTrigger): table = "AdAccount" function_name = "log_ad_account_changes" type = TriggerType.ROW.value def on_insert(self): return f""" INSERT INTO ad_accounts(connector_id, ad_account_id) SELECT connector.external_id AS connector_id, ad_account.ad_account_id AS ad_account_id FROM "AdAccount" ad_account JOIN "Connector" connector ON ad_account.connector_id = connector.id WHERE connector.id = NEW.connector_id ON CONFLICT DO NOTHING; """ def on_delete(self): return f""" DELETE FROM ad_accounts WHERE ad_account_id = OLD.ad_account_id; """