pooliot-client
Version:
28 lines (21 loc) • 1.09 kB
JavaScript
var _semver = require('semver');
var _fs = require('fs');
var _nightingaleAppConsole = require('nightingale-app-console');
var _exec = require('./commands/exec');
const logger = _nightingaleAppConsole.logger.child('migrate');
(function migrate(previousVersion) {
return new Promise((resolve, reject) => {
(0, _fs.readdir)(`${__dirname}/../migrate/`, (err, files) => {
if (err) {
return reject(err);
}
files.filter(file => file.slice(-3) === '.sh').map(file => ({ file, version: /^([^_]+)(_.*).sh$/.exec(file)[1] })).filter(file => (0, _semver.gt)(file.version, previousVersion)).sort((a, b) => (0, _semver.gt)(a.version, b.version)).forEach(file => {
logger.info('migrate', file);
console.log((0, _exec.runSync)('sh', [file.file], { cwd: `${__dirname}/../migrate/` }));
logger.infoSuccess('success', file);
});
});
});
})(process.argv[2], process.argv[3]).then(() => logger.infoSuccess('migration done')).catch(err => console.log(err.stack || err.message || err));
//# sourceMappingURL=migrate.js.map
;