2014-06-23 79 views
0

我正在一個項目中,我在NODE中使用sailjs。我已經通過創建一個名爲「config_db」創建我的config文件夾DB,我config_db代碼檢查天氣sailsjs項目運行在實時服務器上或本地服務器上

var Sequelize = require('sequelize'); 

//var sequelize = new Sequelize('databaseNameofLive', 'UserName', 'dbPasswordofLive', { 
// host:"us-cdbr-east-05.cleardb.net", 

var sequelize = new Sequelize('DatabaseName', 'UserName', '', { 
     host:"localhost", 
     dialect: "mysql", // or 'sqlite', 'postgres', 'mariadb' 
     port: 3306, // or 5432 (for postgres) 
}); 

module.exports = { 

    dbase: sequelize 

}; 

現在每次我需要完成的任務我把它在我的本地PC變化的數據庫連接到本地和工作,然後將其更改回到實時數據庫和再次上傳,我需要一些方法,通過該應用程序本身檢查天氣它在本地或現場運行,並自動連接該數據庫,

像它檢查和來要知道這次它在本地運行它將連接到以下數據庫字符串

var sequelize = new Sequelize('DatabaseName', 'UserName', '', { 
      host:"localhost", 
      dialect: "mysql", // or 'sqlite', 'postgres', 'mariadb' 
      port: 3306, // or 5432 (for postgres) 
    }); 

否則它會去

var sequelize = new Sequelize('databaseNameofLive', 'UserName', 'dbPasswordofLive', { 
      host:"us-cdbr-east-05.cleardb.net", 

我創建使用sailsjs在NODE這個應用程序,請讓我知道我能做到這一點。我正在使用mySQL作爲我的數據庫。

回答

0

只需使用節點ENV變量:

if(process.env.NODE_ENV != "production"){ 
    var sequelize = new Sequelize('DatabaseName', 'UserName', '', { 
     host:"localhost", 
     dialect: "mysql", // or 'sqlite', 'postgres', 'mariadb' 
     port: 3306, // or 5432 (for postgres) 
}); 
}else{ 
    var sequelize = new Sequelize('databaseNameofLive', 'UserName', 'dbPasswordofLive', { 
     host:"us-cdbr-east-05.cleardb.net",.... 
} 

只要確保,YOUT設置NODE_ENV就在你活的服務器!

Btw。你爲什麼使用Squelinze?風帆與水線(也是一個ORM)一起來。

相關問題