我有一个用于连接数据库的序列化配置文件:
config / database.js
const config = require('./config');
module.exports = {
development: {
username: config.CONFIG.db_user,
password: config.CONFIG.db_password,
database: config.CONFIG.db_name,
host: config.CONFIG.db_host,
dialect: config.CONFIG.db_dialect,
port: config.CONFIG.db_port
},
test: {
username: 'test',
password: 'test',
database: 'db_test',
host: 'localhost',
dialect: 'mysql'
},
production: {
username: config.CONFIG.db_user,
password: config.CONFIG.db_password,
database: config.CONFIG.db_name,
host: config.CONFIG.db_host,
dialect: config.CONFIG.db_dialect
}
};
在续集模型index.js文件中,我想通过将env
变量传递到上一个文件来设置所需的环境:
models / index.js
const env = process.env.NODE_ENV || 'development';
const dbConfig = require('../config/database');
const sequelize = new Sequelize(
dbConfig.test.database,
dbConfig.test.username,
dbConfig.test.password, {
host: dbConfig.test.host,
dialect: dbConfig.test.dialect,
port: dbConfig.test.port
});
现在我手动进行操作,有没有办法以编程方式进行操作?谢谢您的帮助!
答案 0 :(得分:0)
是的,您可以这样做:
module.exports = function () {
let development = {
username: 'test',
password: 'test',
database: 'db_test',
host: 'localhost',
dialect: 'mysql'};
let production = {
username: 'test',
password: 'test',
database: 'db_test',
host: 'localhost',
dialect: 'mysql'
};
switch (process.env.NODE_ENV) {
case 'development':
return development;
case 'production':
return production;
default:
return development;
}
};
您可以像下面这样在代码中的任何位置访问环境变量:
process.env.var_name