node.js - nodejs sequelize/cli 如何与 Node 配置一起使用

标签 node.js sequelize.js sequelize-cli node-config

首先,这是我第一次使用 Sequelize,所以请耐心等待。

我想使用 https://github.com/sequelize/cli 连同 https://github.com/lorenwest/node-config

我希望 sequelize 能够从多个源文件“组合”它的配置,就像 node-config 所做的那样。

现在我已经解决了

.sequelizerc

var path = require('path')
var Config = require('config');
var env =Config.util.getEnv('NODE_ENV');
module.exports = {
  'config':          path.resolve('config', env + '.json')
}

development.json即

{
    "app": {
        "name": "my api"
    },
    "server": {
        "port": 8081
    },
    "development": {
            "username": "username",
            "password": "password",
            "database": "database",
            "host": "127.0.0.1",
            "dialect": "mysql"
    }
} 

你可以看到我必须设置一个冗余的环境 key 没有逻辑意义 在我所有的 env.json 文件中。

有没有更好的办法?

缺点

获取数据:

var env =Config.util.getEnv('NODE_ENV');
var configDb = Config.get(env);

这样所有的选项 文件加载顺序丢失。

https://github.com/lorenwest/node-config/wiki/Configuration-Files

其他方式

sequelize db:migrate --url 'mysql://root:password@mysql_host.com/database_name'

使用标准的 Node 配置 json 文件。

最佳答案

在 Node 配置的 config 文件夹中,创建一个名为 config.js 的文件>

// config/config.js
const config = require('config');

module.exports = {
  [process.env.NODE_ENV || 'development']: config.database
};

然后在项目的顶层创建一个.sequelizerc

// .sequelizerc
const path = require('path');

module.exports = {
 config: path.resolve('config', 'config.js')
};

示例 config/development.json

{
  "database": {
    "username": "root",
    "password": "",
    "database": "my_database",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }
}

要使用环境变量,请像通常使用 node-config 一样使用 custom-environment-variables.json

关于node.js - nodejs sequelize/cli 如何与 Node 配置一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31500028/

相关文章:

Mysql根据用户输入过滤查询

javascript - 从 Sequelize 返回值

mysql - 如何在 Sequelize 中使用 findAll 和关联

sql - 如何编写可能来自不同表的 "belongs to"关联?

javascript - Promise 通过 for 循环提前返回

javascript - Node 和 knex - 填充中间表 Promise 问题

node.js - SequelizeConnectionRefusedError/ECONNREFUSED 上的 Node 应用程序崩溃

javascript - Sequelize Eeager 加载错误 - 无法弄清楚包括

node.js - Sequelize 不从 .env 文件中获取主机名并默认为机器的 IP 地址

javascript - 服务器端代码无法识别我的 req.body.variable,指出它未定义