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

Commit c1d0c757 by sdepold

pass error

1 parent 72e83e79
Showing with 27 additions and 14 deletions
......@@ -30,20 +30,24 @@ module.exports = (function() {
}, options || {})
return new Utils.CustomEventEmitter(function(emitter) {
self.getUndoneMigrations(function(migrations) {
var chainer = new Utils.QueryChainer
self.getUndoneMigrations(function(err, migrations) {
if(err) {
emitter.emit('failure', err)
} else {
var chainer = new Utils.QueryChainer
if(options.method == 'down')
migrations.reverse()
if(options.method == 'down')
migrations.reverse()
migrations.forEach(function(migration) {
chainer.add(migration.execute(options))
})
migrations.forEach(function(migration) {
chainer.add(migration.execute(options))
})
chainer
.run()
.success(function() { emitter.emit('success', null) })
.error(function(err) { emitter.emit('failure', err) })
chainer
.run()
.success(function() { emitter.emit('success', null) })
.error(function(err) { emitter.emit('failure', err) })
}
})
}).run()
}
......@@ -52,10 +56,12 @@ module.exports = (function() {
var self = this
var filterFrom = function(migrations, from, callback, options) {
console.log('filterFrom')
var result = migrations.filter(function(migration) { return migration.isAfter(from, options) })
callback && callback(result)
}
var filterTo = function(migrations, to, callback, options) {
console.log('filterTo')
var result = migrations.filter(function(migration) { return migration.isBefore(to, options) })
callback && callback(result)
}
......@@ -66,25 +72,32 @@ module.exports = (function() {
return new Migration(self, self.options.path + '/' + file)
})
console.log('migrations')
if(this.options.from) {
console.log('has from')
filterFrom(migrations, this.options.from, function(migrations) {
if(self.options.to)
filterTo(migrations, self.options.to, callback)
else
callback && callback(migrations)
callback && callback(null, migrations)
})
} else {
getLastMigrationIdFromDatabase.call(this).success(function(lastMigrationId) {
console.log(lastMigrationId)
if(lastMigrationId) {
filterFrom(migrations, lastMigrationId, function(migrations) {
if(self.options.to)
filterTo(migrations, self.options.to, callback)
else
callback && callback(migrations)
callback && callback(null, migrations)
}, { withoutEqual: true })
} 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!