domain.ts 731 B

1234567891011121314151617181920212223242526272829
  1. import * as Knex from "knex";
  2. export async function createDomainTable(knex: Knex) {
  3. const hasTable = await knex.schema.hasTable("domains");
  4. if (!hasTable) {
  5. await knex.schema.createTable("domains", table => {
  6. table.increments("id").primary();
  7. table
  8. .boolean("banned")
  9. .notNullable()
  10. .defaultTo(false);
  11. table
  12. .integer("banned_by_id")
  13. .references("id")
  14. .inTable("users");
  15. table
  16. .string("address")
  17. .unique()
  18. .notNullable();
  19. table.string("homepage").nullable();
  20. table
  21. .integer("user_id")
  22. .references("id")
  23. .inTable("users")
  24. .unique();
  25. table.timestamps(false, true);
  26. });
  27. }
  28. }