Я делаю проект, полностью основанный на модулях ES6, и у меня есть некоторые трудности при интеграции knex и особенно knex CLI
Я смог использовать knex (без CLI) с этим:
const config = {
client: 'mysql2',
connection: {
host : "localhost",
user : "tata",
password : "tata",
database : "tata",
},
}
const myknex = knex(config )
export default myknex
Но это не позволяет использовать knex CLI ...
Поэтому я создал модуль knexfile с файлом .knex / knexfile. js и пакетом .knex / package. json file:
//knexfile.js
module.exports = {
development: {
client: 'sqlite3',
connection: {
filename: './dev.sqlite3'
},
useNullAsDefault : true
},
production: {
client: 'mysql2',
connection: {
host : "localhost",
user : "tata",
password : "tata",
database : "tata",
},
migrations: {
tableName: 'knex_migrations'
}
}
};
//package.json
{
"name": "knexfile",
"version": "1.0.0",
"description": "",
"main": "knexfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
там я могу добавить модуль knexfile в свой проект
"dependencies": {
"knexfile": "file:./knex",
...
, и я могу импортировать конфигурацию без забот
import knex from 'knex'
import knexfile from 'knexfile'
const myknex = knex(knexfile.developpement)
//const myknex = knex(knexfile.production)
export default myknex
, но Я должен указать разработку или производство, ENV не управляется, так как knex CLI управляет им
Как можно более просто и эффективно использовать knex и knex CLI в проекте ES6?
Заранее спасибо