我们需要在database.yml
下的remote_database
文件中添加数据库的凭据:
remote_database:
adapter:
encoding:
username:
...
添加完所有内容后,从本地终端运行以下命令可以完成以下任务:
RAILS_ENV=remote_database rails db:migrate
我试图在Heroku上完成同样的事情。我在config/database.yml
中推送了更改,并且我尝试执行以下命令:
RAILS_ENV=remote_database heroku run rake db:migrate
# or
heroku run rake db:migrate RAILS_ENV=remote_database
似乎Heroku完全忽略RAILS_ENV
或remote_database
文件中config/database.yml
env的设置。 Heroku总是在与DATABASE_URL
相关的常规数据库服务器中进行更改。
有没有办法通过Heroku在不同的数据库服务器上运行迁移?
答案 0 :(得分:1)
Heroku注入database.yml
并使用4.1版本的Rails完全覆盖它或部分覆盖,并允许我们防止从Rails 4.1覆盖的方法。检查Heroku article
所以,在你的情况下
url
密钥添加到database.yml
,如上面链接Active Record 4.1+ Escape Valve
部分所述。< / LI>