20200211220920_constraints.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const models = require("../models");
  2. async function up(knex) {
  3. await models.createUserTable(knex);
  4. await models.createIPTable(knex);
  5. await models.createDomainTable(knex);
  6. await models.createHostTable(knex);
  7. await models.createLinkTable(knex);
  8. await models.createVisitTable(knex);
  9. await Promise.all([
  10. knex.raw(`
  11. ALTER TABLE domains
  12. DROP CONSTRAINT domains_user_id_foreign,
  13. ADD CONSTRAINT domains_user_id_foreign
  14. FOREIGN KEY (user_id)
  15. REFERENCES users (id)
  16. ON DELETE SET NULL;
  17. `),
  18. knex.raw(`
  19. ALTER TABLE links
  20. DROP CONSTRAINT links_user_id_foreign,
  21. ADD CONSTRAINT links_user_id_foreign
  22. FOREIGN KEY (user_id)
  23. REFERENCES users (id)
  24. ON DELETE CASCADE;
  25. `),
  26. knex.raw(`
  27. ALTER TABLE visits
  28. DROP CONSTRAINT visits_link_id_foreign,
  29. ADD CONSTRAINT visits_link_id_foreign
  30. FOREIGN KEY (link_Id)
  31. REFERENCES links (id)
  32. ON DELETE CASCADE;
  33. `)
  34. ]);
  35. }
  36. async function down() {
  37. // do nothing
  38. }
  39. module.exports = {
  40. up,
  41. down
  42. }