domain.model.js 833 B

1234567891011121314151617181920212223242526272829303132333435
  1. async function createDomainTable(knex) {
  2. const hasTable = await knex.schema.hasTable("domains");
  3. if (!hasTable) {
  4. await knex.schema.createTable("domains", table => {
  5. table.increments("id").primary();
  6. table
  7. .boolean("banned")
  8. .notNullable()
  9. .defaultTo(false);
  10. table
  11. .integer("banned_by_id")
  12. .references("id")
  13. .inTable("users");
  14. table
  15. .string("address")
  16. .unique()
  17. .notNullable();
  18. table.string("homepage").nullable();
  19. table
  20. .integer("user_id")
  21. .references("id")
  22. .inTable("users")
  23. .onDelete("SET NULL");
  24. table
  25. .uuid("uuid")
  26. .notNullable()
  27. .defaultTo(knex.fn.uuid());
  28. table.timestamps(false, true);
  29. });
  30. }
  31. }
  32. module.exports = {
  33. createDomainTable
  34. }