mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
refs #6301, #6165 - visibility is added as a new column on posts, tags and users. - has a relevant default value for each table
27 lines
988 B
JavaScript
27 lines
988 B
JavaScript
var Promise = require('bluebird'),
|
|
commands = require('../../schema').commands,
|
|
db = require('../../db'),
|
|
|
|
tables = ['posts', 'tags', 'users'],
|
|
column = 'visibility';
|
|
|
|
module.exports = function addVisibilityColumnToKeyTables(logger) {
|
|
return Promise.mapSeries(tables, function (table) {
|
|
var message = 'Adding column: ' + table + '.' + column;
|
|
return db.knex.schema.hasTable(table).then(function (exists) {
|
|
if (exists) {
|
|
return db.knex.schema.hasColumn(table, column).then(function (exists) {
|
|
if (!exists) {
|
|
logger.info(message);
|
|
return commands.addColumn(table, column);
|
|
} else {
|
|
logger.warn(message);
|
|
}
|
|
});
|
|
} else {
|
|
// @TODO: this should probably be an error
|
|
logger.warn(message);
|
|
}
|
|
});
|
|
});
|
|
};
|