"use strict"; const Promise = require("bluebird"); const path = require("path"); const knex = require("knex"); const { knexSnakeCaseMappers } = require("objection"); const models = require("./models"); let migrationsFolder = path.join(__dirname, "../migrations"); module.exports = function initialize({ knexfile }) { let knexInstance = knex({ ... knexfile, ... knexSnakeCaseMappers() }); let state = { knex: knexInstance }; return Promise.try(() => { return knexInstance.migrate.latest({ directory: migrationsFolder }); }).then(() => { return { ... state, db: models(state) }; }); };