mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01: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