1 | const fs = require('fs')
|
2 | const Knex = require('knex')
|
3 | const exitHook = require('async-exit-hook')
|
4 | const { NODE_ENV } = require('@sharyn/env')
|
5 |
|
6 | let knexConfig = require('./knex-config')
|
7 |
|
8 | let customKnexConfig
|
9 | if (fs.existsSync('src/_db/knex-config.js')) {
|
10 |
|
11 | customKnexConfig = require('../../../src/_db/knex-config')
|
12 | }
|
13 |
|
14 | if (customKnexConfig) {
|
15 | knexConfig = customKnexConfig
|
16 | }
|
17 |
|
18 | const knex = Knex(knexConfig)
|
19 |
|
20 |
|
21 | if (NODE_ENV !== 'test') {
|
22 |
|
23 | knex.raw('').catch(err => console.error(err))
|
24 | }
|
25 |
|
26 | exitHook(async callback => {
|
27 | await knex.destroy()
|
28 | callback()
|
29 | })
|
30 |
|
31 | module.exports = knex
|