2016-11-25 15 views
1

CLIのSequelizeツールを使用してDBマイグレーションを実行しようとしていますが、ENV変数がツールで処理されていない問題が発生しています。 githubリポジトリでは、バージョン2.0.0(私は2.4.0です)でconfig/config.jsのようにENV変数に直接アクセスできますが、process.env.DB_HOSTNAMEと同じですが、値が存在しないことを示すエラーが表示されます変数から渡されたCLIでEnv変数を見つけることができません

エラー:

Unable to connect to database: SequelizeAccessDeniedError: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'localhost' (using password: NO) 

config.jsの:

module.exports = { 
    "development": { 
     "username": process.env.LOCAL_USERNAME, 
     "password": process.env.LOCAL_PASSWORD, 
     "database": process.env.LOCAL_DATABASE, 
     "host": "127.0.0.1", 
     "dialect": "mysql", 
     "migrationStorageTableName": "sequelize_meta" 
    }, 
} 

.env:

LOCAL_DATABASE="db_name" 
LOCAL_USERNAME="root" 
LOCAL_PASSWORD="test" 
+0

あなたは(https://github.com/motdotla/dotenv)ノードモジュールをdotenv使用していますか? username rootとpassword testでdbに接続できますか? – maheshiv

+0

どのように問題を解決しましたか? –

答えて

1

あなたはdotenvモジュールを必要とするのを忘れ:

require('dotenv').config(); // this line is important! 
module.exports = { 
"development": { 
    "username": process.env.LOCAL_USERNAME, 
    "password": process.env.LOCAL_PASSWORD, 
    "database": process.env.LOCAL_DATABASE, 
    "host": "127.0.0.1", 
    "dialect": "mysql", 
    "migrationStorageTableName": "sequelize_meta" 
}, 
} 
関連する問題