我有一些bash脚本start_dummy
:
#!/usr/bin/env bash
#killall puma
ulimit -s 16384
ofile=logs/access_`date +%F_%H%M%S`.log
RACK_ENV=production puma -b tcp://0.0.0.0:22522 2>&1 | tee $ofile
和start_test
:
#!/usr/bin/env bash
#killall puma
ulimit -s 16384
ofile=logs/access_`date +%F_%H%M%S`.log
RACK_ENV=production puma -b tcp://0.0.0.0:22577 2>&1 | tee $ofile
当应用程序在不同端口上运行时,我想连接不同的数据库:
require 'sinatra'
# *snip* sinatra configuration
require 'data_mapper'
DataMapper::Model.raise_on_save_failure = true
if # __WHAT__ # when puma listen on 22577
DataMapper.setup(:default, 'postgres://original@127.0.0.1/original')
else # when puma listen on 22522
DataMapper.setup(:default, 'postgres://dummy@127.0.0.1/dummy')
end
我应该在__WHAT__
上插入什么内容?
答案 0 :(得分:3)
if request.port == 22577
DataMapper.setup(:default, 'postgres://original@127.0.0.1/original')
else
DataMapper.setup(:default, 'postgres://dummy@127.0.0.1/dummy')
end
更好的方法是将连接字符串存储在每个服务器可能不同的环境变量中:
DataMapper.setup(:default, ENV['DATABASE_URL'])