Files
PetitTetonMeteor/imports/startup/server/postStartup/version.js

36 lines
955 B
JavaScript
Raw Normal View History

import 'meteor/aldeed:collection2/static'
import SimpleSchema from 'meteor/aldeed:simple-schema';
let AppVersion = new Mongo.Collection('AppVersion');
let AppVersionSchema = new SimpleSchema({
version: {
type: Number,
optional: false,
defaultValue: 0
}
});
AppVersion.attachSchema(AppVersionSchema);
try {
let appVersions = await AppVersion.find({}).fetchAsync();
let appVersion;
if(!appVersions || appVersions.length == 0) { //This will happen only when first creating a database.
appVersion = {version: 0};
appVersion._id = await AppVersion.insertAsync(appVersion);
}
else if(appVersions.length > 1) { //This should never happen. Remove all but the first app version.
for(let i = 1; i < appVersions.length; i++) {
await AppVersion.removeAsync(appVersions[i]._id);
}
}
else {
appVersion = appVersions[0];
}
}
catch(err) {
console.log("Caught an error while upgrading the app version: " + err);
process.exit(1);
}