0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-10 23:36:14 -05:00

Renamed currentVersion setting to databaseVersion to avoid confusion with software version

This commit is contained in:
Hannah Wolfe 2013-09-14 22:13:59 +01:00
parent d968495996
commit 9fcc0a6ed6
7 changed files with 34 additions and 35 deletions

View file

@ -274,7 +274,7 @@ adminControllers = {
},
'export': function (req, res) {
// Get current version from settings
api.settings.read({ key: "currentVersion" })
api.settings.read({ key: "databaseVersion" })
.then(function (setting) {
// Export the current versions data
return dataExport(setting.value);
@ -324,13 +324,13 @@ adminControllers = {
}
// Get the current version for importing
api.settings.read({ key: "currentVersion" })
api.settings.read({ key: "databaseVersion" })
.then(function (setting) {
return when(setting.value);
}, function () {
return when("001");
})
.then(function (currentVersion) {
.then(function (databaseVersion) {
// Read the file contents
return nodefn.call(fs.readFile, req.files.importfile.path)
.then(function (fileContents) {
@ -348,7 +348,7 @@ adminControllers = {
}
// Import for the current version
return dataImport(currentVersion, importData);
return dataImport(databaseVersion, importData);
});
})
.then(function importSuccess() {

View file

@ -1,6 +1,6 @@
{
"core": {
"currentVersion": {
"databaseVersion": {
"default": "000"
}
},

View file

@ -4,7 +4,7 @@ var when = require('when'),
module.exports = function (version) {
var exporter;
if (version > migration.currentVersion) {
if (version > migration.databaseVersion) {
return when.reject("Your data version is ahead of the current Ghost version. Please upgrade in order to export.");
}

View file

@ -68,8 +68,8 @@ Importer002.prototype.basicImport = function (data) {
break;
case 'settings':
// for settings we need to update individual settings, and insert any missing ones
// the one setting we MUST NOT update is the currentVersion settings
var blackList = ['currentVersion'];
// the one setting we MUST NOT update is the databaseVersion settings
var blackList = ['databaseVersion'];
if (tableData && tableData.length) {
tableData = stripProperties(['id'], tableData);
_.each(tableData, function (data) {

View file

@ -5,45 +5,45 @@ var _ = require('underscore'),
errors = require('../../errorHandling'),
knex = require('../../models/base').Knex,
initialVersion = '000',
// This currentVersion string should always be the current version of Ghost,
// This databaseVersion string should always be the current version of Ghost,
// we could probably load it from the config file.
// - Will be possible after default-settings.json restructure
currentVersion = '000';
databaseVersion = '000';
function getCurrentVersion() {
function getDatabaseVersion() {
return knex.Schema.hasTable('settings').then(function () {
// Check for the current version from the settings table
// Check for the databaseVersion from the settings table
return knex('settings')
.where('key', 'currentVersion')
.where('key', 'databaseVersion')
.select('value')
.then(function (currentVersionSetting) {
if (currentVersionSetting && currentVersionSetting.length > 0) {
currentVersionSetting = currentVersionSetting[0].value;
.then(function (databaseVersionSetting) {
if (databaseVersionSetting && databaseVersionSetting.length > 0) {
databaseVersionSetting = databaseVersionSetting[0].value;
} else {
// we didn't get a response we understood, assume initialVersion
currentVersionSetting = initialVersion;
databaseVersionSetting = initialVersion;
}
return currentVersionSetting;
return databaseVersionSetting;
});
});
}
module.exports = {
currentVersion: currentVersion,
databaseVersion: databaseVersion,
// Check for whether data is needed to be bootstrapped or not
init: function () {
var self = this;
return getCurrentVersion().then(function (currentVersionSetting) {
// We are assuming here that the currentVersionSetting will
// always be less than the currentVersion value.
if (currentVersionSetting === currentVersion) {
return getDatabaseVersion().then(function (databaseVersionSetting) {
// We are assuming here that the databaseVersionSetting will
// always be less than the databaseVersion value.
if (databaseVersionSetting === databaseVersion) {
return when.resolve();
}
// Bring the data up to the latest version
return self.migrateUpFromVersion(currentVersion);
return self.migrateUpFromVersion(databaseVersion);
}, function () {
// If the settings table doesn't exist, bring everything up from initial version.
return self.migrateUpFromVersion(initialVersion);
@ -55,9 +55,9 @@ module.exports = {
reset: function () {
var self = this;
return getCurrentVersion().then(function (currentVersionSetting) {
// bring everything down from the current version
return self.migrateDownFromVersion(currentVersionSetting);
return getDatabaseVersion().then(function (databaseVersionSetting) {
// bring everything down from the databaseVersion
return self.migrateDownFromVersion(databaseVersionSetting);
}, function () {
// If the settings table doesn't exist, bring everything down from initial version.
return self.migrateDownFromVersion(initialVersion);
@ -67,7 +67,7 @@ module.exports = {
// Migrate from a specific version to the latest
migrateUpFromVersion: function (version, max) {
var versions = [],
maxVersion = max || this.getVersionAfter(currentVersion),
maxVersion = max || this.getVersionAfter(databaseVersion),
currVersion = version,
tasks = [];
@ -95,7 +95,6 @@ module.exports = {
},
migrateDownFromVersion: function (version) {
console.log('version', version);
var versions = [],
minVersion = this.getVersionBefore(initialVersion),
currVersion = version,

View file

@ -58,7 +58,7 @@ describe("Export", function () {
should.exist(exportData.data);
exportData.meta.version.should.equal("001");
_.findWhere(exportData.data.settings, {key: "currentVersion"}).value.should.equal("001");
_.findWhere(exportData.data.settings, {key: "databaseVersion"}).value.should.equal("001");
_.each(tables, function (name) {
should.exist(exportData.data[name]);
@ -87,7 +87,7 @@ describe("Export", function () {
describe("002", function () {
this.timeout(5000);
should.exist(Exporter001);
it("exports data", function (done) {
@ -109,7 +109,7 @@ describe("Export", function () {
should.exist(exportData.data);
exportData.meta.version.should.equal("002");
_.findWhere(exportData.data.settings, {key: "currentVersion"}).value.should.equal("002");
_.findWhere(exportData.data.settings, {key: "databaseVersion"}).value.should.equal("002");
_.each(tables, function (name) {
should.exist(exportData.data[name]);

View file

@ -90,7 +90,7 @@ describe("Import", function () {
importedData[1].length.should.equal(exportData.data.posts.length);
importedData[2].length.should.be.above(0);
_.findWhere(exportData.data.settings, {key: "currentVersion"}).value.should.equal("001");
_.findWhere(exportData.data.settings, {key: "databaseVersion"}).value.should.equal("001");
done();
}).then(null, done);
@ -154,7 +154,7 @@ describe("Import", function () {
importedData[1].length.should.equal(exportData.data.posts.length + 1);
importedData[2].length.should.be.above(0);
_.findWhere(importedData[2], {key: "currentVersion"}).value.should.equal("002");
_.findWhere(importedData[2], {key: "databaseVersion"}).value.should.equal("002");
done();
}).then(null, done);
@ -193,7 +193,7 @@ describe("Import", function () {
importedData[1].length.should.equal(exportData.data.posts.length + 1);
importedData[2].length.should.be.above(0);
_.findWhere(importedData[2], {key: "currentVersion"}).value.should.equal("002");
_.findWhere(importedData[2], {key: "databaseVersion"}).value.should.equal("002");
done();
}).then(null, done);