mirror of https://github.com/TryGhost/Ghost.git
41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
const logging = require('../../../../../shared/logging');
|
|
const commands = require('../../../schema').commands;
|
|
const table = 'integrations';
|
|
const newColumnNames = [
|
|
'type'
|
|
];
|
|
|
|
function printResult(operation, columnName) {
|
|
return `${operation} column ${columnName} in ${table} table`;
|
|
}
|
|
|
|
module.exports.up = (options) => {
|
|
const connection = options.connection;
|
|
return Promise.map(newColumnNames, (newColumnName) => {
|
|
return connection.schema.hasColumn(table, newColumnName)
|
|
.then((exists) => {
|
|
if (exists) {
|
|
logging.warn(printResult('Adding', newColumnName));
|
|
return;
|
|
}
|
|
logging.info(printResult('Adding', newColumnName));
|
|
return commands.addColumn(table, newColumnName, connection);
|
|
});
|
|
});
|
|
};
|
|
|
|
module.exports.down = (options) => {
|
|
const connection = options.connection;
|
|
return Promise.map(newColumnNames, (newColumnName) => {
|
|
return connection.schema.hasColumn(table, newColumnName)
|
|
.then((exists) => {
|
|
if (!exists) {
|
|
logging.warn(printResult('Dropping', newColumnName));
|
|
return;
|
|
}
|
|
logging.info(printResult('Dropping', newColumnName));
|
|
return commands.dropColumn(table, newColumnName, connection);
|
|
});
|
|
});
|
|
};
|