Heroku App正在读取database.yml文件

问题描述

| 据我所知,Heroku应该会自动生成一个database.yml文件,而忽略本地文件。但是,我看到一个错误,但事实并非如此,我对本地database.yml的更改正在影响Heroku应用。这是有问题的,因为我不知道如何设置文件的生产部分,以便Heroku可以找到正确的数据库。 例如以下
production: 
    adapter: sqlite3 
    database: db/production.sqlite3 
    pool: 5 
    timeout: 5000
其次是db:migration
$:~/Apps/DancingCupid/DancingCupid$ heroku rake --trace db:migrate
吐出来
rake aborted!
unable to open database file
/app/.bundle/gems/ruby/1.8/gems/activerecord-3.0.5/lib/active_record/connection_adapters/sqlite3_adapter.rb:27:in `initialize\' 
...
根据发送给生产环境的数据库类型,我可能会遇到不同的错误。 除了删除该应用程序并制作一个新应用程序外,还有什么方法可以解决此问题?     

解决方法

Heroku肯定会在push上重写您的database.yml,因此源代码管理中的内容无关紧要。 要确认这一点,请执行
heroku run bash
,它将使您连接到应用程序中的bash会话,然后看一下
cat config\\database.yml
,您将看到他们是如何重写它的。     ,从Rails 4.1开始,其他答案不再正确。   在Rails 4.1.0中,config / database.yml将不再被覆盖   检测到RC1应用。相反,它将与DATABASE_URL合并,因此   可以在config / database.yml中设置池大小等其他选项。 要在Heroku服务器上仔细检查database.yml的内容,可以通过
heroku run bash
,然后通过
cat config/database.yml
运行远程bash,以查看其在服务器上的内容并与本地的进行比较。     ,我不认为你疯了! (但我以为是) 几天来,我一直在努力解决这个问题,最终找到了这篇文章: http://article.gmane.org/gmane.comp.lang.ruby.rails.heroku/1003/match=database+yml 它使我相信也许根本不是我的代码! 然后,我只是销毁了我的heroku应用程序并创建了一个新应用程序,并将其推向了它。突然一切正常!我不知道如何,何时或为什么,但是我认为可以覆盖或破坏Heroku创建的database.yml文件。 希望这可以帮助!     ,尝试从版本控制中删除ѭ7。最好将ѭ7的副本复制为
database.yml.example
,然后将
database.yml
添加到
.gitignore
文件中。 这样,当您推送到Heroku时,它将没有任何数据库配置可参考。 您可能也不想生产12英镑的宝石。确保它在您的Gemfile的开发/测试组中。     ,不应将database.yml推送到Heroku。它将尝试连接到该数据库,超时然后崩溃。 将其添加到您的.gitignore中,使其不会出现在此处。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...