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

Commit 50cdf475 by sdepold

refactored sequelize meta

1 parent 2ee83449
Showing with 11 additions and 19 deletions
...@@ -42,7 +42,7 @@ module.exports = (function() { ...@@ -42,7 +42,7 @@ module.exports = (function() {
migrations.forEach(function(migration) { migrations.forEach(function(migration) {
chainer.add(migration, 'execute', [options], { chainer.add(migration, 'execute', [options], {
success: function(migration, callback) { success: function(migration, callback) {
saveSuccessfulMigration.call(self, migration, callback) saveSuccessfulMigration.call(self, migrations[0], migration, callback)
} }
}) })
}) })
...@@ -115,7 +115,8 @@ module.exports = (function() { ...@@ -115,7 +115,8 @@ module.exports = (function() {
if(!storedModel) { if(!storedModel) {
SequelizeMeta = self.sequelize.define('SequelizeMeta', { SequelizeMeta = self.sequelize.define('SequelizeMeta', {
lastMigrationId: DataTypes.STRING from: DataTypes.STRING,
to: DataTypes.STRING
}) })
} }
...@@ -151,7 +152,7 @@ module.exports = (function() { ...@@ -151,7 +152,7 @@ module.exports = (function() {
return new Utils.CustomEventEmitter(function(emitter) { return new Utils.CustomEventEmitter(function(emitter) {
getLastMigrationFromDatabase.call(self) getLastMigrationFromDatabase.call(self)
.success(function(meta) { .success(function(meta) {
emitter.emit('success', meta ? meta.lastMigrationId : null) emitter.emit('success', meta ? meta.to : null)
}) })
.error(function(err) { .error(function(err) {
emitter.emit('failure', err) emitter.emit('failure', err)
...@@ -175,23 +176,14 @@ module.exports = (function() { ...@@ -175,23 +176,14 @@ module.exports = (function() {
return moment(getFormattedDateString(s), "YYYYMMDDHHmmss") return moment(getFormattedDateString(s), "YYYYMMDDHHmmss")
} }
var saveSuccessfulMigration = function(migration, callback) { var saveSuccessfulMigration = function(from, to, callback) {
var self = this var self = this
getLastMigrationFromDatabase.call(this).success(function(dbEntry) { self.findOrCreateSequelizeMetaModel().success(function(SequelizeMeta) {
if(dbEntry) { SequelizeMeta
dbEntry .create({ from: from.migrationId, to: to.migrationId })
.updateAttributes({ lastMigrationId: migration.migrationId }) .success(callback)
.success(callback) })
.error(function(err) { throw new Error(err) })
} else {
self.findOrCreateSequelizeMetaModel().success(function(SequelizeMeta) {
SequelizeMeta
.create({ lastMigrationId: migration.migrationId })
.success(callback)
})
}
}).error(function(err) { throw new Error(err) })
} }
return Migrator return Migrator
......
...@@ -90,7 +90,7 @@ describe('Migrator', function() { ...@@ -90,7 +90,7 @@ describe('Migrator', function() {
setup() setup()
Helpers.async(function(done) { Helpers.async(function(done) {
SequelizeMeta.create({ lastMigrationId: '20111117063700' }).success(function() { SequelizeMeta.create({ from: null, to: '20111117063700' }).success(function() {
migrator.getUndoneMigrations(function(err, migrations) { migrator.getUndoneMigrations(function(err, migrations) {
expect(err).toBeNull() expect(err).toBeNull()
expect(migrations.length).toEqual(7) expect(migrations.length).toEqual(7)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!