首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs sequelize/cli如何与node-config一起使用

nodejs sequelize/cli如何与node-config一起使用
EN

Stack Overflow用户
提问于 2015-07-19 17:59:44
回答 2查看 3.4K关注 0票数 4

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

我想和https://github.com/lorenwest/node-config一起使用https://github.com/sequelize/cli

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

到目前为止,我已经用

.sequelizerc

代码语言:javascript
复制
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 ie

代码语言:javascript
复制
{
    "app": {
        "name": "my api"
    },
    "server": {
        "port": 8081
    },
    "development": {
            "username": "username",
            "password": "password",
            "database": "database",
            "host": "127.0.0.1",
            "dialect": "mysql"
    }
} 

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

有没有更好的方法?

缺点

获取数据的步骤:

代码语言:javascript
复制
var env =Config.util.getEnv('NODE_ENV');
var configDb = Config.get(env);

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

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

另一种方式

代码语言:javascript
复制
sequelize db:migrate --url 'mysql://root:password@mysql_host.com/database_name'

使用标准的node-config json文件。

EN

回答 2

Stack Overflow用户

发布于 2018-12-12 07:39:44

在node-config的config文件夹中,创建一个名为config.js的文件

代码语言:javascript
复制
// config/config.js
const config = require('config');

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

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

代码语言:javascript
复制
// .sequelizerc
const path = require('path');

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

示例config/development.json

代码语言:javascript
复制
{
  "database": {
    "username": "root",
    "password": "",
    "database": "my_database",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }
}

要使用env var,可以像通常使用node- custom-environment-variables.json一样使用配置。

票数 4
EN

Stack Overflow用户

发布于 2015-09-03 04:42:53

如果我没理解错你的问题,你必须把.sequelizerc文件放在你的项目的根目录下,内容如下:

代码语言:javascript
复制
var config = require('config');

config.database.config = __filename;

module.exports = config.database;

这将导出配置的database部分,该部分由node-config作为sequelize-cli配置的配置文件组成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31500028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档