我有一个rails应用程序,我正在运行两个服务器实例(不同的端口,不同的PID)。
rails s -p 8081 -P 12345
rails s -p 8082 -P 54321
但是,我希望他们每个人都能连接到不同的mongodb数据库(例如分别为:db12345
和db54321
)。
问题在于我不知道这是否可行,如果可行,如何在我的mongoid.yml
配置文件中指定它。
我的mongoid.yml文件的相应部分,允许我使用db12345数据库,目前看起来像这样:
development:
options:
raise_not_found_error: false
sessions:
default:
database: **db12345**
hosts:
- localhost:27017
options:
max_retries: 30
retry_interval: 1
timeout: 15
refresh_interval: 10
我遇到的问题是找到一种方法将同一个rails应用程序的每个实例链接到它应该使用的(不同的)数据库。这是否意味着要在mongoid.yml
处理?
谢谢!
答案 0 :(得分:1)
您可以通过环境变量来控制它。以这种方式启动您的应用程序:
DBNAME=db12345 rails s -p 8081 -P 12345
DBNAME=db54321 rails s -p 8082 -P 54321
然后在mongoid.yml
中引用此变量,并使用合理的默认值:
sessions:
default:
database: <%= ENV['DBNAME'] || 'db12345' %>