SailsJS连接

时间:2017-09-15 19:57:08

标签: node.js sails.js

我使用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
   }




3 个答案:

答案 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