Skip to content

Commit

Permalink
add db:migrate:status (#385)
Browse files Browse the repository at this point in the history
  • Loading branch information
Trevor Morris authored and Americas committed Nov 21, 2016
1 parent 15b157c commit d38ebc8
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 0 deletions.
29 changes: 29 additions & 0 deletions lib/tasks/db.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,35 @@ module.exports = {
}
},

'db:migrate:status': {
descriptions: {
'short': 'List the status of all migrations'
},

task: function () {
return getMigrator('migration').then(function (migrator) {
return ensureCurrentMetaSchema(migrator).then(function () {
return migrator.executed();
}).then(function (migrations) {
_.forEach(migrations, function (migration) {
console.log('up ', migration.file);
});
}).then(function () {
return migrator.pending();
}).then(function (migrations) {
_.forEach(migrations, function (migration) {
console.log('down', migration.file);
});
}).then(function () {
process.exit(0);
}).catch(function (err) {
console.error(err);
process.exit(1);
});
});
}
},

'db:migrate:undo': {
descriptions: {
'short': 'Revert the last migration run.'
Expand Down
26 changes: 26 additions & 0 deletions test/db/migrate/status.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
'use strict';

var Support = require(__dirname + '/../../support');
var helpers = require(__dirname + '/../../support/helpers');
var gulp = require('gulp');

([
'db:migrate:status'
]).forEach(function (flag) {
describe(Support.getTestDialectTeaser(flag), function () {
it('is correctly reports a down and an up migration', function (done) {
gulp
.src(Support.resolveSupportPath('tmp'))
.pipe(helpers.clearDirectory())
.pipe(helpers.runCli('init'))
.pipe(helpers.copyMigration('createPerson.js'))
.pipe(helpers.overwriteFile(JSON.stringify(helpers.getTestConfig()), 'config/config.json'))
.pipe(helpers.runCli('db:migrate', { pipeStdout: false }))
.pipe(helpers.copyMigration('renamePersonToUser.js'))
.pipe(helpers.runCli(flag, { pipeStdout: true }))
.pipe(helpers.ensureContent('up 20111117063700-createPerson.js'))
.pipe(helpers.ensureContent('down 20111205064000-renamePersonToUser.js'))
.pipe(helpers.teardown(done));
});
});
});

0 comments on commit d38ebc8

Please sign in to comment.