2009-08-04 33 views
0

我在本地设置远程连接,需要将它推送到heroku。当我把它推到heroku时出现错误:有没有办法编辑herokus yml文件

RemoteDBName没有配置。

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

回答

0

想通了这一点,任何人连接到远程数据库上可能看到这样的Heroku:

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

要解决这个问题:

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

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

  • 与该行建立连接的任何远程模式代码:

    establish_connection Remote_DB [“不管你命名的YML文件的连接字符串在这里”]

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(自然而然就是开发流程除外)。点击确保所有的数据库不可知。如果你想把你最新的开发数据库推到Heroku,只需运行heroku db:push

相关问题