36 lines
879 B
TypeScript
36 lines
879 B
TypeScript
import { registerAs } from '@nestjs/config';
|
|
import { Knex } from 'knex';
|
|
import { join } from 'path';
|
|
|
|
export const getKnex = (
|
|
database: string,
|
|
directory: string,
|
|
loadExtensions = ['.js'],
|
|
) =>
|
|
({
|
|
client: 'pg',
|
|
connection: {
|
|
port: 5432,
|
|
host: String(process.env.POSTGRES_HOST),
|
|
user: String(process.env.POSTGRES_USER),
|
|
password: String(process.env.POSTGRES_PASSWORD),
|
|
database,
|
|
},
|
|
migrations: {
|
|
directory: join(directory, 'database', 'migrations'),
|
|
extension: 'ts',
|
|
loadExtensions,
|
|
},
|
|
seeds: {
|
|
directory: join(directory, 'database', 'seeds'),
|
|
extension: 'ts',
|
|
loadExtensions,
|
|
},
|
|
} as Knex.Config);
|
|
|
|
export const makeKnex = (
|
|
database: string,
|
|
directory: string,
|
|
loadExtensions?: string[],
|
|
) => registerAs('knex', () => getKnex(database, directory, loadExtensions));
|