Skip to content

Commit 68f4d89

Browse files
committed
fix(api): callback not called on run
If db-mgirate is run via any run method (except directly from console), the callback was not available to the migration functions anymore.
1 parent ed0bb83 commit 68f4d89

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

api.js

+14-1
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,7 @@ function loadConfig( config, internals ) {
521521
}
522522

523523
function executeCreateMigration(internals, config, callback) {
524+
524525
var migrationsDir = internals.argv['migrations-dir'];
525526

526527
if (internals.migrationMode && internals.migrationMode !== 'all') {
@@ -611,6 +612,7 @@ function shouldCreateCoffeeFile( intenrals, config ) {
611612
}
612613

613614
function createSqlFiles(internals, config, callback) {
615+
614616
var migrationsDir = internals.argv['migrations-dir'];
615617

616618
if (internals.migrationMode && internals.migrationMode !== 'all') {
@@ -678,10 +680,11 @@ function _assert(err, callback) {
678680

679681
function executeUp(internals, config, callback) {
680682

683+
var callback = callback || internals.onComplete;
684+
681685
if (!internals.argv.count) {
682686
internals.argv.count = Number.MAX_VALUE;
683687
}
684-
685688
index.connect({
686689
config: config.getCurrent().settings,
687690
internals: internals
@@ -699,6 +702,7 @@ function executeUp(internals, config, callback) {
699702
migrator.driver.createMigrationsTable(function(err) {
700703
assert.ifError(err);
701704
log.verbose('migration table created');
705+
702706
migrator.up(internals.argv, internals.onComplete.bind(this,
703707
migrator, callback));
704708
});
@@ -707,6 +711,8 @@ function executeUp(internals, config, callback) {
707711

708712
function executeDown(internals, config, callback) {
709713

714+
var callback = callback || internals.onComplete;
715+
710716
if (!internals.argv.count) {
711717
log.info('Defaulting to running 1 down migration.');
712718
internals.argv.count = 1;
@@ -730,6 +736,8 @@ function executeDown(internals, config, callback) {
730736

731737
function executeDB(internals, config, callback) {
732738

739+
var callback = callback || internals.onComplete;
740+
733741
if (internals.argv._.length > 0) {
734742
internals.argv.dbname = internals.argv._.shift().toString();
735743
} else {
@@ -779,6 +787,8 @@ function executeDB(internals, config, callback) {
779787

780788
function executeSeed(internals, config, callback) {
781789

790+
var callback = callback || internals.onComplete;
791+
782792
if (internals.argv._.length > 0) {
783793
internals.argv.destination = internals.argv._.shift().toString();
784794
}
@@ -809,6 +819,9 @@ function executeSeed(internals, config, callback) {
809819
}
810820

811821
function executeUndoSeed(internals, config, callback) {
822+
823+
var callback = callback || internals.onComplete;
824+
812825
if (!internals.argv.count) {
813826
log.info('Defaulting to running 1 down seed.');
814827
internals.argv.count = 1;

lib/skeleton.js

+2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ var Skeleton = Class.extend({
7474

7575
migration = require(this.path).up.apply(this, params);
7676

77+
if( migration === null ) migration = Promise.resolve();
7778
if( migration instanceof Promise ) {
7879

7980
migration
@@ -116,6 +117,7 @@ var Skeleton = Class.extend({
116117
params[ params.length++ ] = r;
117118
migration = require(this.path).down.apply(this, params);
118119

120+
if( migration === null ) migration = Promise.resolve();
119121
if( migration instanceof Promise ) {
120122

121123
migration

test/integration/api_test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ vows.describe('api').addBatch({
2828
var api = DBMigrate.getInstance(true, config);
2929
api.create( 'test', function() {
3030
process.argv.push('up');
31-
3231
process.exit = function(err) {
3332

33+
3434
var ret = called;
3535
called = true;
3636

0 commit comments

Comments
 (0)