54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
const migrate_name = 'access_list_client';
|
|
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('access_list_client', (table) => {
|
|
table.increments().primary();
|
|
table.dateTime('created_on').notNull();
|
|
table.dateTime('modified_on').notNull();
|
|
table.integer('access_list_id').notNull().unsigned();
|
|
table.string('address').notNull();
|
|
table.string('directive').notNull();
|
|
table.json('meta').notNull();
|
|
|
|
})
|
|
.then(function () {
|
|
logger.info('[' + migrate_name + '] access_list_client Table created');
|
|
|
|
return knex.schema.table('access_list', function (access_list) {
|
|
access_list.integer('satify_any').notNull().defaultTo(0);
|
|
});
|
|
})
|
|
.then(() => {
|
|
logger.info('[' + migrate_name + '] access_list Table altered');
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Undo Migrate
|
|
*
|
|
* @param {Object} knex
|
|
* @param {Promise} Promise
|
|
* @returns {Promise}
|
|
*/
|
|
exports.down = function (knex/*, Promise*/) {
|
|
logger.info('[' + migrate_name + '] Migrating Down...');
|
|
|
|
return knex.schema.dropTable('access_list_client')
|
|
.then(() => {
|
|
logger.info('[' + migrate_name + '] access_list_client Table dropped');
|
|
});
|
|
};
|