Ruby on rails 有没有办法编辑herokus yml文件
我在本地设置了远程连接,需要将其推送到heroku。当我把它推给heroku时,我得到一个错误,说: 未配置RemoteDBNameRuby on rails 有没有办法编辑herokus yml文件,ruby-on-rails,heroku,Ruby On Rails,Heroku,我在本地设置了远程连接,需要将其推送到heroku。当我把它推给heroku时,我得到一个错误,说: 未配置RemoteDBName 我只是假设(也搜索并看到)heroku使用自己的config.yml文件。对于任何连接到heroku上远程数据库的人来说,他们可能会看到: Heroku用自己的database.yml文件替换您的database.yml文件,覆盖您的任何内容 要解决这个问题: 在配置文件夹中创建一个新文件,将其命名为which.yml 在此文件中设置连接字符串 在initial
我只是假设(也搜索并看到)heroku使用自己的config.yml文件。对于任何连接到heroku上远程数据库的人来说,他们可能会看到: Heroku用自己的database.yml文件替换您的database.yml文件,覆盖您的任何内容 要解决这个问题:
- 在配置文件夹中创建一个新文件,将其命名为which.yml
- 在此文件中设置连接字符串
- 在initializers文件夹中创建一个新文件,我称之为mine load_remote.rb。在该文件中,编写以下代码行: REMOTE_DB=YAML.load_文件(“#{RAILS_ROOT}/config/YOURNEWFILEHERE.yml”)
- 使用以下代码行在任何远程型号中建立连接: 建立远程连接数据库['无论您在这里的yml文件中为连接字符串命名什么']
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实际上会在您将站点推送到其服务器时替换您的apps database.yml。无论您在本地使用什么,您的数据都将存储在他们的一个奇特的PostgreSQL服务器中——这意味着您根本不必考虑database.yml(当然,开发目的除外)。Taps确保一切都是不可知的。如果您想将最新的开发数据库推送到Heroku,只需运行Heroku db:push