mirror of
https://github.com/Unleash/unleash.git
synced 2025-05-31 01:16:01 +02:00
chore: action_set_events db table migration (#6298)
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.
This commit is contained in:
parent
0ccfc29e26
commit
4a4d5388d9
31
src/migrations/20240221082758-action-events.js
Normal file
31
src/migrations/20240221082758-action-events.js
Normal file
@ -0,0 +1,31 @@
|
||||
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,
|
||||
);
|
||||
};
|
Loading…
Reference in New Issue
Block a user