Sequelize CLI не находит переменные окружения

Я пытаюсь выполнить миграцию базы данных с помощью инструмента Sequelize CLI, но столкнулся с проблемой, когда мои переменные ENV не обрабатываются этим инструментом. В репозитории github говорится, что в версии 2.0.0 (у меня 2.4.0) вы можете напрямую обращаться к переменным ENV в config/config.js, например, process.env.DB_HOSTNAME, но я получаю сообщение об ошибке, указывающее, что никакие значения не передается из переменных

Ошибка:

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"

person cphill    schedule 25.11.2016    source источник
comment
Используете ли вы модуль узла dotenv(github.com/motdotla/dotenv)? Можете ли вы подключиться к БД через проверку имени пользователя root и пароля?   -  person maheshiv    schedule 26.11.2016
comment
как вы решили проблему?   -  person Ali Sherafat    schedule 26.06.2017


Ответы (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"
},
}
person Ali Sherafat    schedule 26.06.2017