20200410143839_access_list_client.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { migrate as logger } from "../logger.js";
  2. const migrateName = "access_list_client";
  3. /**
  4. * Migrate
  5. *
  6. * @see http://knexjs.org/#Schema
  7. *
  8. * @param {Object} knex
  9. * @returns {Promise}
  10. */
  11. const up = (knex) => {
  12. logger.info(`[${migrateName}] Migrating Up...`);
  13. return knex.schema
  14. .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(() => {
  24. logger.info(`[${migrateName}] access_list_client Table created`);
  25. return knex.schema.table("access_list", (access_list) => {
  26. access_list.integer("satify_any").notNull().defaultTo(0);
  27. });
  28. })
  29. .then(() => {
  30. logger.info(`[${migrateName}] access_list Table altered`);
  31. });
  32. };
  33. /**
  34. * Undo Migrate
  35. *
  36. * @param {Object} knex
  37. * @returns {Promise}
  38. */
  39. const down = (knex) => {
  40. logger.info(`[${migrateName}] Migrating Down...`);
  41. return knex.schema.dropTable("access_list_client").then(() => {
  42. logger.info(`[${migrateName}] access_list_client Table dropped`);
  43. });
  44. };
  45. export { up, down };