| 1234567891011121314151617181920212223242526272829303132 |
- const knex = require("knex");
- const env = require("./env");
- const isSqlite = env.DB_CLIENT === "sqlite3" || env.DB_CLIENT === "better-sqlite3";
- const isPostgres = env.DB_CLIENT === "pg" || env.DB_CLIENT === "pg-native";
- const isMySQL = env.DB_CLIENT === "mysql" || env.DB_CLIENT === "mysql2";
- const db = knex({
- client: env.DB_CLIENT,
- connection: {
- ...(isSqlite && { filename: "db/" + env.DB_FILENAME }),
- ...(isMySQL && { dateStrings: true, timezone: "Z" }),
- host: env.DB_HOST,
- port: env.DB_PORT,
- database: env.DB_NAME,
- user: env.DB_USER,
- password: env.DB_PASSWORD,
- ssl: env.DB_SSL,
- pool: {
- min: env.DB_POOL_MIN,
- max: env.DB_POOL_MAX
- }
- },
- useNullAsDefault: true,
- });
- db.isPostgres = isPostgres;
- db.isSqlite = isSqlite;
- db.isMySQL = isMySQL;
- module.exports = db;
|