Server: fix migrations with an empty Applications table
authorChocobozzz <florian.bigard@gmail.com>
Sat, 4 Mar 2017 09:40:09 +0000 (10:40 +0100)
committerChocobozzz <florian.bigard@gmail.com>
Sat, 4 Mar 2017 09:40:09 +0000 (10:40 +0100)
server/initializers/migrator.js
server/models/application.js

index 8c67903add5cdc8d5fc10c03478827e37d84de0c..0f25a23d1471e625aee58cc234f94501e4fc1958 100644 (file)
@@ -32,6 +32,18 @@ function migrate (finalCallback) {
       db.Application.loadMigrationVersion(callback)
     },
 
+    function createMigrationRowIfNotExists (actualVersion, callback) {
+      if (actualVersion === null) {
+        db.Application.create({
+          migrationVersion: 0
+        }, function (err) {
+          return callabck(err, 0)
+        })
+      }
+
+      return callback(null, actualVersion)
+    },
+
     function abortMigrationIfNotNeeded (actualVersion, callback) {
       // No need migrations
       if (actualVersion >= constants.LAST_MIGRATION_VERSION) return finalCallback(null)
index 46dcfde33bf88fb3103db5b0ef80709ed1e1c8e4..64e1a05407a0f33383ac1d873d287a56b91568af 100644 (file)
@@ -31,7 +31,7 @@ function loadMigrationVersion (callback) {
   }
 
   return this.findOne(query).asCallback(function (err, data) {
-    const version = data ? data.migrationVersion : 0
+    const version = data ? data.migrationVersion : null
 
     return callback(err, version)
   })