2017-09-15 6 views
1

私はSailsJSを使用してコードを構築し、PostgreSQLで動作するように接続を構成しました。しかし、ユーザー名とパスワードのフィールドで、私は別の関数からこの情報を取得したい。私がこれをどうやってできるのか誰でも知っている。SailsJS接続

例:

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

あなたがの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 
+0

にホストを設定します。私は、環境からではなく機能から取得する必要があります。私はユーザーとパスワードを管理する別のシステムを持っているので –

0

api/servicesメソッドでユーザー名、パスワードを定義できます。必要に応じて、複数のサービスまたは単一のサービスを作成して、必要な値を返すことができます。あなたの要件ごとに

module.exports =() => { 
    return() => { 

    return 'localhost'; 
    //return Promise.resolve(convertedObject); 
    } 

}

、Sailsjsブートストラップファイルには、データベースの認証情報を設定するのに最適な場所です。

sails.config.bootstrapは、あなたの帆アプリが(すなわち、起動)解除される前に実行されるカスタマイズ可能な、非同期のブートストラップ 機能です。ブートストラップで

コード :

sails.config.connections.developmentServer.host = setDBCredentials()(); 

上記 "developmentServer" には、MySQL用のアダプタキーです。

developmentServer: { 
    adapter: 'sails-mysql', 
    host: '', 
    user: 'root', //optional 
    password: 'password', //optional 
    database: 'bb' //optional 
    } 

リフトアプリ、それはこれは私が必要なものOKですが、ないアダプタ

関連する問題