knex.ts 796 B

1234567891011121314151617181920212223242526272829303132
  1. import knex from "knex";
  2. import { createUserTable } from "./models/user";
  3. import { createDomainTable } from "./models/domain";
  4. import { createLinkTable } from "./models/link";
  5. import { createVisitTable } from "./models/visit";
  6. import { createIPTable } from "./models/ip";
  7. import { createHostTable } from "./models/host";
  8. import env from "./env";
  9. const db = knex({
  10. client: "postgres",
  11. connection: {
  12. host: env.DB_HOST,
  13. port: env.DB_PORT,
  14. database: env.DB_NAME,
  15. user: env.DB_USER,
  16. password: env.DB_PASSWORD,
  17. ssl: env.DB_SSL
  18. }
  19. });
  20. export async function initializeDb() {
  21. await createUserTable(db);
  22. await createIPTable(db);
  23. await createDomainTable(db);
  24. await createHostTable(db);
  25. await createLinkTable(db);
  26. await createVisitTable(db);
  27. }
  28. export default db;