diff --git a/src/migrations/20230419104126-add-disabled-field-to-feature-strategy.js b/src/migrations/20230419104126-add-disabled-field-to-feature-strategy.js index 342410d399..a856ff71db 100644 --- a/src/migrations/20230419104126-add-disabled-field-to-feature-strategy.js +++ b/src/migrations/20230419104126-add-disabled-field-to-feature-strategy.js @@ -68,7 +68,7 @@ exports.down = function (db, callback) { feature_strategies.parameters as parameters, feature_strategies.constraints as constraints, feature_strategies.sort_order as sort_order, - fss.segment_id as segments + fss.segment_id as segments, feature_strategies.title as strategy_title FROM features diff --git a/src/migrations/20230420125500-v5-strategy-changes.js b/src/migrations/20230420125500-v5-strategy-changes.js index 33f49037c8..9ed3282ed4 100644 --- a/src/migrations/20230420125500-v5-strategy-changes.js +++ b/src/migrations/20230420125500-v5-strategy-changes.js @@ -4,14 +4,14 @@ exports.up = function (db, callback) { db.runSql( ` -- delete deprecated strategies still present in v4 - delete from strategies - where name in ('gradualRolloutUserId', 'gradualRolloutRandom', 'gradualRolloutSessionId') - and deprecated + delete from strategies + where name in ('gradualRolloutUserId', 'gradualRolloutRandom', 'gradualRolloutSessionId') + and deprecated and not exists (select * from feature_strategies where strategy_name = name limit 1); - + -- deprecate strategies on v5 update strategies set deprecated = true where name in ('userWithId'); - + -- update strategy descriptions and sort order update strategies set sort_order = 1, description = 'This strategy turns on / off for your entire userbase. Prefer using "Gradual rollout" strategy (100%=on, 0%=off).' WHERE name = 'default'; update strategies set sort_order = 0 WHERE name = 'flexibleRollout'; @@ -24,44 +24,45 @@ exports.up = function (db, callback) { exports.down = function (db, callback) { db.runSql( ` - -- restore deleted strategies - insert into strategies (name, description, parameters, deprecated, sort_order) values - ('gradualRolloutRandom', 'Randomly activate the feature toggle. No stickiness.', [ - { - "name": "percentage", - "type": "percentage", - "description": "", - "required": false - } - ], true, 3), - ('gradualRolloutSessionId', 'Gradually activate feature toggle. Stickiness based on session id.', [ - { - "name": "percentage", - "type": "percentage", - "description": "", - "required": false + +-- restore deleted strategies +insert into strategies (name, description, parameters, deprecated, sort_order) values + ('gradualRolloutRandom', 'Randomly activate the feature toggle. No stickiness.', '[ + { + "name": "percentage", + "type": "percentage", + "description": "", + "required": false + } + ]', true, 3), + ('gradualRolloutSessionId', 'Gradually activate feature toggle. Stickiness based on session id.', '[ + { + "name": "percentage", + "type": "percentage", + "description": "", + "required": false + }, + { + "name": "groupId", + "type": "string", + "description": "Used to define a activation groups, which allows you to correlate across feature toggles.", + "required": true + } + ]', true, 4), + ('gradualRolloutUserId', 'Gradually activate feature toggle for logged in users. Stickiness based on user id.', '[ + { + "name": "percentage", + "type": "percentage", + "description": "", + "required": false }, - { - "name": "groupId", - "type": "string", - "description": "Used to define a activation groups, which allows you to correlate across feature toggles.", - "required": true + { + "name": "groupId", + "type": "string", + "description": "Used to define a activation groups, which allows you to correlate across feature toggles.", + "required": true } - ], true, 4), - ('gradualRolloutUserId', 'Gradually activate feature toggle for logged in users. Stickiness based on user id.', [ - { - "name": "percentage", - "type": "percentage", - "description": "", - "required": false - }, - { - "name": "groupId", - "type": "string", - "description": "Used to define a activation groups, which allows you to correlate across feature toggles.", - "required": true - } - ], true, 5); + ]', true, 5); -- revert sort order update strategies set sort_order = 0 WHERE name = 'default';