X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fapplication.js;h=4114ed76de12b10981994646aee0cdaa4ca6700c;hb=b769007f733769d3afe2d29a3eb23e2e7693f301;hp=452ac4283ba71efa0b5942269682ead45f30bed8;hpb=c4403b29ad4db097af528a7f04eea07e0ed320d0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/application.js b/server/models/application.js index 452ac4283..4114ed76d 100644 --- a/server/models/application.js +++ b/server/models/application.js @@ -1,31 +1,46 @@ -const mongoose = require('mongoose') +module.exports = function (sequelize, DataTypes) { + const Application = sequelize.define('Application', + { + migrationVersion: { + type: DataTypes.INTEGER, + defaultValue: 0 + } + }, + { + classMethods: { + loadMigrationVersion, + updateMigrationVersion + } + } + ) + + return Application +} // --------------------------------------------------------------------------- -const ApplicationSchema = mongoose.Schema({ - mongoSchemaVersion: { - type: Number, - default: 0 +function loadMigrationVersion (callback) { + const query = { + attributes: [ 'migrationVersion' ] } -}) - -ApplicationSchema.statics = { - loadMongoSchemaVersion, - updateMongoSchemaVersion -} - -mongoose.model('Application', ApplicationSchema) - -// --------------------------------------------------------------------------- -function loadMongoSchemaVersion (callback) { - return this.findOne({}, { mongoSchemaVersion: 1 }, function (err, data) { - const version = data ? data.mongoSchemaVersion : 0 + return this.findOne(query).asCallback(function (err, data) { + const version = data ? data.migrationVersion : 0 return callback(err, version) }) } -function updateMongoSchemaVersion (newVersion, callback) { - return this.update({}, { mongoSchemaVersion: newVersion }, callback) +function updateMigrationVersion (newVersion, transaction, callback) { + const options = { + where: {} + } + + if (!callback) { + transaction = callback + } else { + options.transaction = transaction + } + + return this.update({ migrationVersion: newVersion }, options).asCallback(callback) }