55 lines
1.3 KiB
JavaScript
55 lines
1.3 KiB
JavaScript
|
const migrate_name = 'settings';
|
||
|
const logger = require('../logger').migrate;
|
||
|
|
||
|
/**
|
||
|
* Migrate
|
||
|
*
|
||
|
* @see http://knexjs.org/#Schema
|
||
|
*
|
||
|
* @param {Object} knex
|
||
|
* @param {Promise} Promise
|
||
|
* @returns {Promise}
|
||
|
*/
|
||
|
exports.up = function (knex/*, Promise*/) {
|
||
|
logger.info('[' + migrate_name + '] Migrating Up...');
|
||
|
|
||
|
return knex.schema.createTable('setting', (table) => {
|
||
|
table.string('id').notNull().primary();
|
||
|
table.string('name', 100).notNull();
|
||
|
table.string('description', 255).notNull();
|
||
|
table.string('value', 255).notNull();
|
||
|
table.json('meta').notNull();
|
||
|
})
|
||
|
.then(() => {
|
||
|
logger.info('[' + migrate_name + '] setting Table created');
|
||
|
|
||
|
// TODO: add settings
|
||
|
let settingModel = require('../models/setting');
|
||
|
|
||
|
return settingModel
|
||
|
.query()
|
||
|
.insert({
|
||
|
id: 'default-site',
|
||
|
name: 'Default Site',
|
||
|
description: 'What to show when Nginx is hit with an unknown Host',
|
||
|
value: 'congratulations',
|
||
|
meta: {}
|
||
|
});
|
||
|
})
|
||
|
.then(() => {
|
||
|
logger.info('[' + migrate_name + '] Default settings added');
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Undo Migrate
|
||
|
*
|
||
|
* @param {Object} knex
|
||
|
* @param {Promise} Promise
|
||
|
* @returns {Promise}
|
||
|
*/
|
||
|
exports.down = function (knex, Promise) {
|
||
|
logger.warn('[' + migrate_name + '] You can\'t migrate down the initial data.');
|
||
|
return Promise.resolve(true);
|
||
|
};
|