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:
parent
d968495996
commit
9fcc0a6ed6
7 changed files with 34 additions and 35 deletions
|
@ -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() {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"core": {
|
||||
"currentVersion": {
|
||||
"databaseVersion": {
|
||||
"default": "000"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -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.");
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue