diff --git a/migrations/versions/0296_template_redacted_fix.py b/migrations/versions/0296_template_redacted_fix.py index cb56f8776..9d0618fbf 100644 --- a/migrations/versions/0296_template_redacted_fix.py +++ b/migrations/versions/0296_template_redacted_fix.py @@ -21,6 +21,32 @@ def upgrade(): ; """) + op.execute(""" + create or replace function insert_redacted() + returns trigger AS + $$ + BEGIN + INSERT INTO template_redacted (template_id, redact_personalisation, updated_at, updated_by_id) + SELECT templates.id, FALSE, now(), templates.created_by_id + FROM templates + WHERE templates.id NOT IN (SELECT template_id FROM template_redacted WHERE template_id = templates.id); + RETURN NEW; + END; + $$ LANGUAGE plpgsql; + """) + + op.execute(""" + CREATE TRIGGER insert_template_redacted AFTER INSERT ON templates + FOR EACH ROW + EXECUTE PROCEDURE insert_redacted(); + """) + def downgrade(): - pass + op.execute(""" + drop trigger insert_template_redacted ON templates + """) + + op.execute(""" + drop function insert_redacted(); + """)