有没有办法编辑herokus yml文件

时间:2009-08-04 19:31:05

标签: ruby-on-rails heroku

我在本地设置了远程连接,需要将其推送到heroku。当我把它推到heroku时,我得到一个错误说:

未配置RemoteDBName。

我只是假设(也搜索并看到)heroku使用自己的config.yml文件。

2 个答案:

答案 0 :(得分:0)

想出这个,对于任何连接到heroku远程数据库的人都可能看到:

Heroku用你自己的文件替换你的database.yml文件,覆盖你的任何东西。

解决这个问题:

  • 在配置文件夹中创建一个新文件,将其命名为whatever.yml
  • 在此文件中设置连接字符串。
  • 在初始化文件夹文件夹中创建一个新文件,我称之为我的load_remote.rb。在这个文件中写下这行代码:

    REMOTE_DB = YAML.load_file(“#{RAILS_ROOT} /config/YOURNEWFILEHERE.yml”)

  • 使用以下代码行在任何远程模型中建立连接:

    establish_connection Remote_DB ['无论你在这里用yml文件命名你的连接字符串']

答案 1 :(得分:0)

让我向您展示在使用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(当然,除了开发工作之外)。 Taps确保所有内容都与db无关。如果您想将最新的开发数据库推送到Heroku,只需运行heroku db:push