2012-07-16 98 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"]); 
} 

如果您需要更多指针,请告诉我。