4

まず、Sequelize を使用するのは初めてなので、しばらくお待ちください。

https://github.com/lorenwest/node-config とともにhttps://github.com/sequelize/cliを使用したい

node-config と同じ方法で、sequelize が複数のソース ファイルから構成を「構成」できるようにしたいと考えています。

今までに私はそれを解決しました

.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"
    }
} 

すべての env.json ファイルで、論理的な意味を持たない冗長な env キーを設定する必要があることがわかります。

より良い方法はありますか?

欠点

データを取得するには:

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

このようにして、File Load Order のすべてのオプションが失われます。

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

他の方法

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

標準の node-config json ファイルを使用します。

4

2 に答える 2

4

confignode-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"
  }
}

環境変数を使用するにcustom-environment-variables.jsonは、node-config で通常行うように使用します。

于 2018-12-11T23:39:44.287 に答える
1

あなたの質問を正しく理解できた場合.sequelizercは、プロジェクトのルートに次の内容のファイルを配置する必要があります。

var config = require('config');

config.database.config = __filename;

module.exports = config.database;

これは、sequelize-cli config としてdatabase構成ファイルから構成された、構成のセクションをエクスポートします。node-config

于 2015-09-02T20:42:53.400 に答える