使用来自 VCAP_SERVICES 环境变量的 db 凭据,不要对它们进行硬编码。在 AppFog 上启动应用程序时会提供凭据。请参阅Appfog 节点文档
var env = JSON.parse(process.env.VCAP_SERVICES);
var creds = env['mysql-5.1'][0]['credentials']; # grabs the creds for the first mysql database
var client = mysql.createConnection({
host: creds.hostname || 'localhost',
user: creds.username,
password: creds.password,
database: creds.name,
port: creds.port || 3306
});
我创建了一个 npm 包来帮助获取生产和开发凭证。请参阅AppFog 环境
如何使用它:
首先使用本地开发数据库凭据设置本地环境变量:
export DEV_DB_CREDS='{ "username": "root", "name": "dev-db-name" }'
然后在应用程序中获取信用:
var service = appfog.getService('mysql-db-name', process.env.DEV_DB_CREDS)
var creds = service.credentials
这种方法允许相同的代码在本地和生产中工作。