|
import { knexSnakeCaseMappers } from 'objection'; |
|
import appConfig from './src/config/app.js'; |
|
import path from 'path'; |
|
import { fileURLToPath } from 'url'; |
|
|
|
const fileExtension = 'js'; |
|
const __dirname = path.dirname(fileURLToPath(import.meta.url)); |
|
|
|
const knexConfig = { |
|
client: 'pg', |
|
connection: { |
|
host: appConfig.postgresHost, |
|
port: appConfig.postgresPort, |
|
user: appConfig.postgresUsername, |
|
password: appConfig.postgresPassword, |
|
database: appConfig.postgresDatabase, |
|
ssl: appConfig.postgresEnableSsl, |
|
}, |
|
asyncStackTraces: appConfig.isDev, |
|
searchPath: [appConfig.postgresSchema], |
|
pool: { min: 0, max: 20 }, |
|
migrations: { |
|
directory: __dirname + '/src/db/migrations', |
|
extension: fileExtension, |
|
loadExtensions: [`.${fileExtension}`], |
|
}, |
|
seeds: { |
|
directory: __dirname + '/src/db/seeds', |
|
}, |
|
...(appConfig.isTest ? knexSnakeCaseMappers() : {}), |
|
}; |
|
|
|
export default knexConfig; |
|
|