不要怂,就是干,撸起袖子干!

Commit c1d0c757 by sdepold

pass error

1 parent 72e83e79
Showing with 17 additions and 4 deletions
...@@ -30,7 +30,10 @@ module.exports = (function() { ...@@ -30,7 +30,10 @@ module.exports = (function() {
}, options || {}) }, options || {})
return new Utils.CustomEventEmitter(function(emitter) { return new Utils.CustomEventEmitter(function(emitter) {
self.getUndoneMigrations(function(migrations) { self.getUndoneMigrations(function(err, migrations) {
if(err) {
emitter.emit('failure', err)
} else {
var chainer = new Utils.QueryChainer var chainer = new Utils.QueryChainer
if(options.method == 'down') if(options.method == 'down')
...@@ -44,6 +47,7 @@ module.exports = (function() { ...@@ -44,6 +47,7 @@ module.exports = (function() {
.run() .run()
.success(function() { emitter.emit('success', null) }) .success(function() { emitter.emit('success', null) })
.error(function(err) { emitter.emit('failure', err) }) .error(function(err) { emitter.emit('failure', err) })
}
}) })
}).run() }).run()
} }
...@@ -52,10 +56,12 @@ module.exports = (function() { ...@@ -52,10 +56,12 @@ module.exports = (function() {
var self = this var self = this
var filterFrom = function(migrations, from, callback, options) { var filterFrom = function(migrations, from, callback, options) {
console.log('filterFrom')
var result = migrations.filter(function(migration) { return migration.isAfter(from, options) }) var result = migrations.filter(function(migration) { return migration.isAfter(from, options) })
callback && callback(result) callback && callback(result)
} }
var filterTo = function(migrations, to, callback, options) { var filterTo = function(migrations, to, callback, options) {
console.log('filterTo')
var result = migrations.filter(function(migration) { return migration.isBefore(to, options) }) var result = migrations.filter(function(migration) { return migration.isBefore(to, options) })
callback && callback(result) callback && callback(result)
} }
...@@ -66,25 +72,32 @@ module.exports = (function() { ...@@ -66,25 +72,32 @@ module.exports = (function() {
return new Migration(self, self.options.path + '/' + file) return new Migration(self, self.options.path + '/' + file)
}) })
console.log('migrations')
if(this.options.from) { if(this.options.from) {
console.log('has from')
filterFrom(migrations, this.options.from, function(migrations) { filterFrom(migrations, this.options.from, function(migrations) {
if(self.options.to) if(self.options.to)
filterTo(migrations, self.options.to, callback) filterTo(migrations, self.options.to, callback)
else else
callback && callback(migrations) callback && callback(null, migrations)
}) })
} else { } else {
getLastMigrationIdFromDatabase.call(this).success(function(lastMigrationId) { getLastMigrationIdFromDatabase.call(this).success(function(lastMigrationId) {
console.log(lastMigrationId)
if(lastMigrationId) { if(lastMigrationId) {
filterFrom(migrations, lastMigrationId, function(migrations) { filterFrom(migrations, lastMigrationId, function(migrations) {
if(self.options.to) if(self.options.to)
filterTo(migrations, self.options.to, callback) filterTo(migrations, self.options.to, callback)
else else
callback && callback(migrations) callback && callback(null, migrations)
}, { withoutEqual: true }) }, { withoutEqual: true })
} else { } else {
callback && callback(migrations) callback && callback(null, migrations)
} }
}).error(function(err) {
console.log(err)
callback && callback(err, null)
}) })
} }
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!