我在本地设置远程连接,需要将它推送到heroku。当我把它推到heroku时出现错误:有没有办法编辑herokus yml文件
RemoteDBName没有配置。
我只是假设(也搜索和看到)heroku使用自己的config.yml文件。
我在本地设置远程连接,需要将它推送到heroku。当我把它推到heroku时出现错误:有没有办法编辑herokus yml文件
RemoteDBName没有配置。
我只是假设(也搜索和看到)heroku使用自己的config.yml文件。
想通了这一点,任何人连接到远程数据库上可能看到这样的Heroku:
Heroku的替代你的database.yml文件,用自己的,覆盖在你的任何东西。
要解决这个问题:
在初始化文件夹中创建一个新文件,我称之为load_remote.rb。在这个文件中写这行代码:
REMOTE_DB = YAML.load_file(“#{RAILS_ROOT} /config/YOURNEWFILEHERE.yml”)
与该行建立连接的任何远程模式代码:
establish_connection Remote_DB [“不管你命名的YML文件的连接字符串在这里”]
让我来告诉你如何当你与Heroku的工作,数据库配置完成。我认为这在文档中可能有点模糊,有些人会对此感到困惑。让我们利用控制台:
zero:~/Projects/crantastic $ heroku console
Ruby console for crantastic.heroku.com
>> puts File.read(Rails.configuration.database_configuration_file)
---
production:
encoding: unicode
adapter: postgresql
username: something_random
port: 5432
host: somewhere.at.heroku
database: something_random
password: something_random
=> nil
>>
的Heroku在实践中替换,当你把你的网站,他们的服务器您的应用程序的database.yml。无论您在本地使用什么服务器,您的数据都将存储在其中一款精美的PostgreSQL服务器中 - 这意味着您根本不必考虑database.yml(自然而然就是开发流程除外)。点击确保所有的数据库不可知。如果你想把你最新的开发数据库推到Heroku,只需运行heroku db:push