I have some bash script 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
and 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
I want to connect different database when the app running on different port:
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://[email protected]/original')
else # when puma listen on 22522
DataMapper.setup(:default, 'postgres://[email protected]/dummy')
end
what should I insert on __WHAT__
?
if request.port == 22577
DataMapper.setup(:default, 'postgres://[email protected]/original')
else
DataMapper.setup(:default, 'postgres://[email protected]/dummy')
end
A better way to do this would be to store the connection string in an environment variable that can be different per server:
DataMapper.setup(:default, ENV['DATABASE_URL'])