mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-23 00:22:19 +01:00
https://linear.app/unleash/issue/2-1962/implement-new-action-events-logic Adds a new `action_set_events` table for the new action events logic. Even though observable events are technically immutable, we're storing the observable event along with the action set event. This allows us to avoid 1 join while allowing us to persist action set event information after deleting observable events, if we wish to do so at a later stage.
32 lines
1019 B
JavaScript
32 lines
1019 B
JavaScript
exports.up = function (db, cb) {
|
|
db.runSql(
|
|
`
|
|
CREATE TABLE IF NOT EXISTS action_set_events
|
|
(
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
action_set_id INTEGER NOT NULL,
|
|
observable_event_id INTEGER NOT NULL,
|
|
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
|
|
state TEXT NOT NULL,
|
|
observable_event JSONB NOT NULL,
|
|
action_set JSONB NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_action_set_events_observable_event_id ON action_set_events(observable_event_id);
|
|
CREATE INDEX IF NOT EXISTS idx_action_set_events_action_set_id_state ON action_set_events(action_set_id, state);
|
|
`,
|
|
cb,
|
|
);
|
|
};
|
|
|
|
exports.down = function (db, cb) {
|
|
db.runSql(
|
|
`
|
|
DROP INDEX IF EXISTS idx_action_set_events_observable_event_id;
|
|
DROP INDEX IF EXISTS idx_action_set_events_action_set_id_state;
|
|
DROP TABLE IF EXISTS action_set_events;
|
|
`,
|
|
cb,
|
|
);
|
|
};
|