1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/migrations/20160618193924-add-strategies-to-features.js

43 lines
978 B
JavaScript
Raw Normal View History

'use strict';
2016-10-26 10:43:11 +02:00
exports.up = function(db, callback) {
db.runSql(
`
2016-12-10 11:35:13 +01:00
--create new strategies-column
ALTER TABLE features ADD "strategies" json;
--populate the strategies column
UPDATE features
SET strategies = ('[{"name":"'||f.strategy_name||'","parameters":'||f.parameters||'}]')::json
FROM features as f
WHERE f.name = features.name;
--delete old strategy-columns
ALTER TABLE features DROP COLUMN "strategy_name";
ALTER TABLE features DROP COLUMN "parameters";
`,
callback
);
2016-12-10 11:35:13 +01:00
};
exports.down = function(db, callback) {
db.runSql(
`
2016-12-10 11:35:13 +01:00
--create old columns
ALTER TABLE features ADD "parameters" json;
ALTER TABLE features ADD "strategy_name" varchar(255);
--populate old columns
UPDATE features
SET strategy_name = f.strategies->0->>'name',
parameters = f.strategies->0->'parameters'
FROM features as f
WHERE f.name = features.name;
--drop new column
ALTER TABLE features DROP COLUMN "strategies";
`,
callback
);
2016-12-10 11:35:13 +01:00
};