mailtrain/setup/knex/migrations/20171230134232_convert_settings_to_camel_case.js
Tomas Bures d8ee364a4b settings keys in DB converted to camel case
callback-based settings model replaced by async-based settings model
2017-12-30 17:27:24 +01:00

24 lines
No EOL
504 B
JavaScript

"use strict";
function fromDbKey(key) {
let prefix = '';
if (key.startsWith('_')) {
key = key.substring(1);
prefix = '_';
}
return prefix + key.replace(/[_-]([a-z])/g, (m, c) => c.toUpperCase());
}
exports.up = (knex, Promise) => (async() => {
const rows = await knex('settings');
for (const row of rows) {
await knex('settings').where('id', row.id).update('key', fromDbKey(row.key))
}
})();
exports.down = (knex, Promise) => (async() => {
})();