20200410143839_access_list_client.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const migrate_name = 'access_list_client';
  2. const logger = require('../logger').migrate;
  3. /**
  4. * Migrate
  5. *
  6. * @see http://knexjs.org/#Schema
  7. *
  8. * @param {Object} knex
  9. * @param {Promise} Promise
  10. * @returns {Promise}
  11. */
  12. exports.up = function (knex/*, Promise*/) {
  13. logger.info('[' + migrate_name + '] Migrating Up...');
  14. return knex.schema.createTable('access_list_client', (table) => {
  15. table.increments().primary();
  16. table.dateTime('created_on').notNull();
  17. table.dateTime('modified_on').notNull();
  18. table.integer('access_list_id').notNull().unsigned();
  19. table.string('address').notNull();
  20. table.string('directive').notNull();
  21. table.json('meta').notNull();
  22. })
  23. .then(function () {
  24. logger.info('[' + migrate_name + '] access_list_client Table created');
  25. return knex.schema.table('access_list', function (access_list) {
  26. access_list.integer('satify_any').notNull().defaultTo(0);
  27. });
  28. })
  29. .then(() => {
  30. logger.info('[' + migrate_name + '] access_list Table altered');
  31. });
  32. };
  33. /**
  34. * Undo Migrate
  35. *
  36. * @param {Object} knex
  37. * @param {Promise} Promise
  38. * @returns {Promise}
  39. */
  40. exports.down = function (knex/*, Promise*/) {
  41. logger.info('[' + migrate_name + '] Migrating Down...');
  42. return knex.schema.dropTable('access_list_client')
  43. .then(() => {
  44. logger.info('[' + migrate_name + '] access_list_client Table dropped');
  45. });
  46. };