2012-07-16 99 views
1

請幫助我如何使用node.js和node-mysql模塊連接/綁定到雲代工的mysql服務?Cloud Foundry - node.js - MySQL

Cloud Foundry中我們可以連接/綁定到MySQL服務和Cloud Foundry的支持型彈簧,Node.js的,等的應用,...

我已經成功develpoed彈簧的應用和cloudfoundry並能夠託管連接/綁定到cloudfoundry的mysql服務。我也可以使用node-mysql模塊連接到本地運行的mysql。

但是我想用node.js和node-mysql模塊連接/綁定到雲代工的mysql服務,並且沒有相關的例子。是否有可能做到這一點?

在這方面的任何幫助是非常appriciated。

謝謝。 問候, Kishan.G

回答

2

我認爲首先要注意的事情是,CloudFoundry將很快支持的Node.js應用程序的自動重新配置很多相同的徒勞我們目前使用Rails做。這意味着能夠在本地開發使用MySQL的Node.JS應用程序,並將其部署到CloudFoundry時,它會自動重新配置爲使用綁定服務。

直到該功能處於活動狀態時(正如我所說的那樣)將不會很長時,您將不得不使用VCAP環境變量在運行時配置連接。這裏有一個很好的例子,這個方法與Node.JS一起使用 - http://www.mihswat.com/2011/05/04/getting-started-with-cloud-foundry-using-a-node-js-and-mongodb-application/雖然對於MongoDB,但方法完全相同。

要特別注意的部分是作者用下面的代碼讀取散列中的環境的地方;

var boundServices = process.env.VCAP_SERVICES 
    ? JSON.parse(process.env.VCAP_SERVICES) : null; 

然後使用它們初始化一個連接;

if (boundServices == null) { 
    db = mongoose.connect('mongodb://localhost/analytics'); 
} else { 
    credentials = boundServices['mongodb-1.8'][0]['credentials']; 
    db = mongoose.createConnection("mongo://" 
         + credentials["username"] 
         + ":" + credentials["password"] 
         + "@" + credentials["hostname"] 
         + ":" + credentials["port"] 
         + "/" + credentials["db"]); 
} 

如果您需要更多指針,請告訴我。