mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	* Upgrade eslint configs to get rid of peer warning * Add pre-commit hook to format code * Lint whole project, not just lib
		
			
				
	
	
		
			43 lines
		
	
	
		
			978 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			978 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
exports.up = function(db, callback) {
 | 
						|
    db.runSql(
 | 
						|
        `
 | 
						|
--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
 | 
						|
    );
 | 
						|
};
 | 
						|
 | 
						|
exports.down = function(db, callback) {
 | 
						|
    db.runSql(
 | 
						|
        `
 | 
						|
--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
 | 
						|
    );
 | 
						|
};
 |