我的应用程序是一个Ruby机架应用程序。当我的 Heroku 应用程序启动时,它会中断,因为
/app/config.ru:8:in 'read': 没有这样的文件或目录 - config/database.yml (Errno::ENOENT)
为什么会这样?我理解 Heroku 旨在创建此文件 https://devcenter.heroku.com/articles/cedar-migration
数据库凭据仍将自动配置:在 slug 编译时,解析环境中DATABASE_URL的 config/database.yml 将写入应用程序。
令人沮丧的是,https://devcenter.heroku.com/articles/ruby 的文档没有解释database.yml
好的,第一件事 - heroku不使用database.yml文件。默认情况下,rail应用程序会自动从config/目录加载它。而且无需在 config.ru 中手动加载它。如果你想在heroku PosgreSQL中使用 - 只需添加附加组件。Heroku 将执行所有其他操作来链接您的应用程序和数据库。如果要使用外部 MySQL 服务器,则应使用 Amazon RDS 附加组件
heroku addons:add amazon_rds url=mysql2://user:pass@dbhost/dbname
通过这种方式,您可以使用任何数据库。我通过 Amazon RDS 附加组件使用 GoDaddy mysql base。
无论如何,您的第 8 行 config.ru 中的问题类似于
read 'config/database.yml'
删除它并查看与heroku不冲突的其他方式
祝你好运
Heroku 似乎只有在您有一个文件夹config
源代码管理下时才创建其config/database.yml
。文档中未解释。