diff --git a/packages/db/migrations/0117.do.add_event_types_to_rules.sql b/packages/db/migrations/0117.do.add_event_types_to_rules.sql new file mode 100755 index 000000000..b96e52451 --- /dev/null +++ b/packages/db/migrations/0117.do.add_event_types_to_rules.sql @@ -0,0 +1,21 @@ +-- Type: DO +-- Name: add_event_types_to_rules +-- Description: Add event_types field to rules table + +BEGIN; + +ALTER TABLE omnivore.rules ADD COLUMN event_types text[] NOT NULL DEFAULT '{PAGE_CREATED,PAGE_UPDATED}'; + +-- Add event_types to existing rules +UPDATE omnivore.rules + SET + event_types = '{PAGE_CREATED}', filter = REPLACE (filter, 'event:created', '') + WHERE + filter LIKE '%event:created%'; +UPDATE omnivore.rules + SET + event_types = '{PAGE_UPDATED}', filter = REPLACE (filter, 'event:updated', '') + WHERE + filter LIKE '%event:updated%'; + +COMMIT; diff --git a/packages/db/migrations/0117.undo.add_event_types_to_rules.sql b/packages/db/migrations/0117.undo.add_event_types_to_rules.sql new file mode 100755 index 000000000..4c8204de5 --- /dev/null +++ b/packages/db/migrations/0117.undo.add_event_types_to_rules.sql @@ -0,0 +1,20 @@ +-- Type: UNDO +-- Name: add_event_types_to_rules +-- Description: Add event_types field to rules table + +BEGIN; + +UPDATE omnivore.rules + SET + filter = CONCAT ('event:created ', filter) + WHERE + 'PAGE_CREATED' = ALL (event_types); +UPDATE omnivore.rules + SET + filter = CONCAT ('event:updated ', filter) + WHERE + 'PAGE_UPDATED' = ALL (event_types); + +ALTER TABLE omnivore.rules DROP COLUMN event_types; + +COMMIT;