diff --git a/migrations/20180207000000-remove-obsolete-autoupdate-pattern-setting.js b/migrations/20180207000000-remove-obsolete-autoupdate-pattern-setting.js deleted file mode 100644 index 1a6589f70..000000000 --- a/migrations/20180207000000-remove-obsolete-autoupdate-pattern-setting.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -exports.up = function(db, callback) { - db.runSql('DELETE FROM settings WHERE name=?', ['autoupdate_pattern'], function (error) { - if (error) console.error(error); - callback(error); - }); -}; - -exports.down = function(db, callback) { - callback(); -}; diff --git a/migrations/20180207000000-split-autoupdate-pattern-setting.js b/migrations/20180207000000-split-autoupdate-pattern-setting.js new file mode 100644 index 000000000..7042110d1 --- /dev/null +++ b/migrations/20180207000000-split-autoupdate-pattern-setting.js @@ -0,0 +1,24 @@ +'use strict'; + +var async = require('async'); + +exports.up = function(db, callback) { + db.runSql('SELECT * FROM settings WHERE name=?', ['autoupdate_pattern'], function (error, results) { + if (error || results.length === 0) return callback(error); // will use defaults from box code + + // migrate the 'daily' update pattern + var appUpdatePattern = results[0].value; + if (appUpdatePattern === '00 00 1,3,5,23 * * *') appUpdatePattern = '00 30 1,3,5,23 * * *'; + + async.series([ + db.runSql.bind(db, 'START TRANSACTION;'), + db.runSql.bind(db, 'DELETE FROM settings WHERE name=?', ['autoupdate_pattern']), + db.runSql.bind(db, 'INSERT settings (name, value) VALUES(?, ?)', ['app_autoupdate_pattern', appUpdatePattern]), + db.runSql.bind(db, 'COMMIT') + ], callback); + }); +}; + +exports.down = function(db, callback) { + callback(); +};