首先,我是这里的一切新手……而对stackoverflow的新手,所以事先对成为新手表示歉意,我已经准备好了我的thrash ...大声笑。/p>
我们将heroku.addon用于Postgres,并在全球使用/参考环境变量访问正确的数据库。
我们在应用程序的根目录中有一个config.js文件,例如:
db: process.env.DB_URL || {
client: 'pg',
connection: {
database: 'db_name',
user: 'user_name'
}
},
在这里有人可以指导我如何将"自定义池"信息初始化的代码集成到此设置中,例如[http://knexjs.org/#installation-pooling] [http://knexjs.s.org/#installation-pooling]
var knex = require('knex')({
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'your_database_user',
password : 'your_database_password',
database : 'myapp_test'
},
pool: { min: 0, max: 7 }
});
在heroku上,process.env.db_url是一个复杂的URL,类似于:
postgres://(redacted)@ec5-87-1-47-54.compute-1.amazonaws.com:5432/d8n2e9ebd0q9it
所以,我希望有一种干净的方法也可以通过"自定义池"信息在这里或在另一个文件/位置。
通过书架/knex在我们应用程序的整个后端中都引用了数据库。对书架的引用看起来类似于:
var knex = require('knex')(config.db);
var bookshelf = require('bookshelf')(knex);
您可以通过从Env变量中读取连接详细信息来完成此操作,例如:
db: {
client: 'pg',
connection: process.env.DB_URL || {
database: 'db_name',
user: 'user_name'
},
pool: { min:5, max:20 }
},