2014-03-25 50 views
0

我有两个Heroku应用程序,一个用于分段,一个用于生产。每个都有自己独立的主DB。我有第二个Heroku数据库需要分期和生产访问。如何与多个Heroku Rails应用程序共享第二个Heroku DB

运行Rails 4.1.0.rc1,当我尝试使用'establish_connection'和一个已经配置了辅助数据库所有正确值的URL时,我最终连接到主数据库。之后,如果我检查ActiveRecord :: Base.configurations,则会看到已添加的新键/值对。关键是网址,并且该值似乎是“制作”键的配置值的副本。

我所有的研究表明,所有我需要做的是

User.establish_connection ENV['SECONDARY_DATABASE_URL'] 

这种方法效果很好,在当地,但未能在Heroku。

回答

0

这个技巧的作品,但似乎是一个坏主意,我说:

url = ENV['MC_CONVERSION_DATABASE_URL'] 

if url 
    uri = URI url 
    db_config = { 
    'adapter'  => 'postgresql', 
    'username' => uri.user, 
    'password' => uri.password, 
    'port'  => uri.port, 
    'database' => uri.path[1..-1], # remove leading '/' 
    'host'  => uri.host 
    } 
else 
    # in the dev environment, use one of the configs from database.yml 
    db_config = :mc_conversion 
end 

McUser.establish_connection db_config 
McMod.establish_connection db_config 
相关问题