mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	feat: Add last_seen_at column to feature_environments (#4387)
Add last_seen_at column to feature_environments Closes # [1-1180](https://linear.app/unleash/issue/1-1180/migrate-last-seen-column-to-featureenvironment-table) Signed-off-by: andreas-unleash <andreas@getunleash.ai>
This commit is contained in:
		
							parent
							
								
									55c785c2ff
								
							
						
					
					
						commit
						d66a56e4e8
					
				@ -0,0 +1,91 @@
 | 
				
			|||||||
 | 
					'use strict';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.up = function (db, callback) {
 | 
				
			||||||
 | 
					    db.runSql(
 | 
				
			||||||
 | 
					        `
 | 
				
			||||||
 | 
					          ALTER TABLE feature_environments ADD COLUMN IF NOT EXISTS last_seen_at timestamp with time zone;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          DROP VIEW features_view;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          CREATE VIEW features_view AS
 | 
				
			||||||
 | 
					          SELECT
 | 
				
			||||||
 | 
					              features.name as name,
 | 
				
			||||||
 | 
					              features.description as description,
 | 
				
			||||||
 | 
					              features.type as type,
 | 
				
			||||||
 | 
					              features.project as project,
 | 
				
			||||||
 | 
					              features.stale as stale,
 | 
				
			||||||
 | 
					              features.impression_data as impression_data,
 | 
				
			||||||
 | 
					              features.created_at as created_at,
 | 
				
			||||||
 | 
					              features.archived_at as archived_at,
 | 
				
			||||||
 | 
					              feature_environments.last_seen_at as last_seen_at,
 | 
				
			||||||
 | 
					              feature_environments.enabled as enabled,
 | 
				
			||||||
 | 
					              feature_environments.environment as environment,
 | 
				
			||||||
 | 
					              feature_environments.variants as variants,
 | 
				
			||||||
 | 
					              environments.name as environment_name,
 | 
				
			||||||
 | 
					              environments.type as environment_type,
 | 
				
			||||||
 | 
					              environments.sort_order as environment_sort_order,
 | 
				
			||||||
 | 
					              feature_strategies.id as strategy_id,
 | 
				
			||||||
 | 
					              feature_strategies.strategy_name as strategy_name,
 | 
				
			||||||
 | 
					              feature_strategies.parameters as parameters,
 | 
				
			||||||
 | 
					              feature_strategies.constraints as constraints,
 | 
				
			||||||
 | 
					              feature_strategies.sort_order as sort_order,
 | 
				
			||||||
 | 
					              fss.segment_id as segments,
 | 
				
			||||||
 | 
					              feature_strategies.title as strategy_title,
 | 
				
			||||||
 | 
					              feature_strategies.disabled as strategy_disabled,
 | 
				
			||||||
 | 
					              feature_strategies.variants as strategy_variants
 | 
				
			||||||
 | 
					          FROM
 | 
				
			||||||
 | 
					              features
 | 
				
			||||||
 | 
					                  LEFT JOIN feature_environments ON feature_environments.feature_name = features.name
 | 
				
			||||||
 | 
					                  LEFT JOIN feature_strategies ON feature_strategies.feature_name = feature_environments.feature_name
 | 
				
			||||||
 | 
					                  and feature_strategies.environment = feature_environments.environment
 | 
				
			||||||
 | 
					                  LEFT JOIN environments ON feature_environments.environment = environments.name
 | 
				
			||||||
 | 
					                  LEFT JOIN feature_strategy_segment as fss ON fss.feature_strategy_id = feature_strategies.id;
 | 
				
			||||||
 | 
					        `,
 | 
				
			||||||
 | 
					        callback,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.down = function (db, callback) {
 | 
				
			||||||
 | 
					    db.runSql(
 | 
				
			||||||
 | 
					        `
 | 
				
			||||||
 | 
					          DROP VIEW features_view;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          CREATE VIEW features_view AS
 | 
				
			||||||
 | 
					          SELECT
 | 
				
			||||||
 | 
					                          features.name as name,
 | 
				
			||||||
 | 
					              features.description as description,
 | 
				
			||||||
 | 
					              features.type as type,
 | 
				
			||||||
 | 
					              features.project as project,
 | 
				
			||||||
 | 
					              features.stale as stale,
 | 
				
			||||||
 | 
					              features.impression_data as impression_data,
 | 
				
			||||||
 | 
					              features.created_at as created_at,
 | 
				
			||||||
 | 
					              features.archived_at as archived_at,
 | 
				
			||||||
 | 
					              features.last_seen_at as last_seen_at,
 | 
				
			||||||
 | 
					              feature_environments.enabled as enabled,
 | 
				
			||||||
 | 
					              feature_environments.environment as environment,
 | 
				
			||||||
 | 
					              feature_environments.variants as variants,
 | 
				
			||||||
 | 
					              environments.name as environment_name,
 | 
				
			||||||
 | 
					              environments.type as environment_type,
 | 
				
			||||||
 | 
					              environments.sort_order as environment_sort_order,
 | 
				
			||||||
 | 
					              feature_strategies.id as strategy_id,
 | 
				
			||||||
 | 
					              feature_strategies.strategy_name as strategy_name,
 | 
				
			||||||
 | 
					              feature_strategies.parameters as parameters,
 | 
				
			||||||
 | 
					              feature_strategies.constraints as constraints,
 | 
				
			||||||
 | 
					              feature_strategies.sort_order as sort_order,
 | 
				
			||||||
 | 
					              fss.segment_id as segments,
 | 
				
			||||||
 | 
					              feature_strategies.title as strategy_title,
 | 
				
			||||||
 | 
					              feature_strategies.disabled as strategy_disabled,
 | 
				
			||||||
 | 
					              feature_strategies.variants as strategy_variants
 | 
				
			||||||
 | 
					          FROM
 | 
				
			||||||
 | 
					              features
 | 
				
			||||||
 | 
					                  LEFT JOIN feature_environments ON feature_environments.feature_name = features.name
 | 
				
			||||||
 | 
					                  LEFT JOIN feature_strategies ON feature_strategies.feature_name = feature_environments.feature_name
 | 
				
			||||||
 | 
					                  and feature_strategies.environment = feature_environments.environment
 | 
				
			||||||
 | 
					                  LEFT JOIN environments ON feature_environments.environment = environments.name
 | 
				
			||||||
 | 
					                  LEFT JOIN feature_strategy_segment as fss ON fss.feature_strategy_id = feature_strategies.id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          ALTER TABLE feature_environments DROP COLUMN IF EXISTS last_seen_at;
 | 
				
			||||||
 | 
					        `,
 | 
				
			||||||
 | 
					        callback,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user