我使用SailsJS构建了我的代码,并将连接配置为与PostgreSQL一起使用。但是在用户名和密码字段上,我想从另一个函数中检索此信息。任何人都知道如何做到这一点。
示例:
pgDatabase: {
adapter: 'sails-postgresql',
host: 'server',
port: port,
user: getUsername(function(p) {
return(p);
}), // optional
password: getPassword(function(c) {
return(c);
}), // optional
database: 'db', //optional
pool: false
}

答案 0 :(得分:0)
您可以在 config / env 文件中定义不同的用户名和密码,以便开发和制作以及您可以访问的连接,如下面的代码行所示
username: (process.env.NODE_ENV == "production") ? "productionUser" : "otherUserName",
password: (process.env.NODE_ENV == "production") ? "productionPassword" : "otherPassword";
可以在举起风帆时设置NODE_ENV
NODE_ENV=production sails lift
NODE_ENV=development sails lift
答案 1 :(得分:0)
您可以在api / services方法中定义用户名,密码。根据您的需要,您可以创建多个服务或单个服务,这将返回所需的值。
module.exports = () => {
return () => {
return 'localhost';
//return Promise.resolve(convertedObject);
}
}
根据您的要求,Sailsjs引导程序文件是设置数据库凭据的最佳位置。
sails.config.bootstrap是一个可自定义的异步引导程序 在你的Sails应用程序被解除之前运行的功能(即启动)。
bootstrap中的代码:
sails.config.connections.developmentServer.host = setDBCredentials()();
在上面的“developmentServer”中是用于MySQL适配器密钥。
developmentServer: {
adapter: 'sails-mysql',
host: '',
user: 'root', //optional
password: 'password', //optional
database: 'bb' //optional
}
提起应用程序,它会将主机设置为您的适配器
答案 2 :(得分:0)
在Node_env文件中提及它
username: (process.env.NODE_ENV == "production") ? "productionUser" : "otherUserName",
password: (process.env.NODE_ENV == "production") ? "productionPassword" : "otherPassword";
或在应用程序的根路径上创建一个js文件并导出配置文件,现在在connection.js上只需导入文件并使用它
export config
Ex:
dbconfig.js
const config = (username, password) => {
// Do your staff hear
return username
return password
}
export default config
import config
Ex:
connection.js
const dbConfig = require(../dbconfig.js)
const username = dbConfig.config , password = dbConfig.config