2016-11-25 2 views
1

Ich versuche, eine DB-Migration mit dem Sequelize CLI-Tool zu laufen, aber ich laufe in ein Problem, wo meine ENV Variablen nicht durch das Werkzeug bearbeitet wird. Im GitHub Repo, heißt es in der Version 2.0.0 (ich bin auf 2.4.0) Sie direkt ENV Variablen in config/config.js wie so, process.env.DB_HOSTNAME zugreifen können, aber ich erhalte eine Fehlermeldung, die keine Werte haben, zeigt, dass übergeben von den VariablenSequelize CLI Nicht Finding Env Variablen

Fehler:

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

Verwenden Sie dotenv (https://github.com/motdotla/dotenv) Knotenmodul? Sind Sie in der Lage db durch Benutzernamen root und Passwort-Test zu verbinden? – maheshiv

+0

Wie hast du das Problem gelöst? –

Antwort

1

vergessen haben dotenv Modul benötigen:

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