4

私のアプリは Ruby ラック アプリです。私のHerokuアプリが起動すると壊れます

/app/config.ru:8:in `read': そのようなファイルまたはディレクトリはありません - config/database.yml (Errno::ENOENT)

なぜこれが起こるのですか?Heroku がこのファイルを作成することを意図していることを理解しました https://devcenter.heroku.com/articles/cedar-migration

データベース資格情報は引き続き自動的に構成されます。スラッグのコンパイル時に、環境から DATABASE_URL を解析する config/database.yml がアプリに書き込まれます。

イライラすることに、https: //devcenter.heroku.com/articles/ruby のドキュメントでは、database.yml

4

2 に答える 2

2

まず最初に、heroku は database.yml ファイルを使用しません。デフォルトでは、Rails アプリは config/ ディレクトリから自動的にロードします。また、config.ru で手動でロードする必要はありません。heroku PosgreSQL で使用する場合は、アドオンを追加するだけです。Heroku は、アプリとデータベースをリンクするために他のすべてのことを行います。外部の MySQL サーバーを使用する場合は、Amazon RDS アドオンを使用する必要があります

heroku addons:add amazon_rds url=mysql2://user:pass@dbhost/dbname

これにより、任意のデータベースを使用できます。Amazon RDS アドオンを介して GoDaddy mysql ベースを使用しています。

いずれにせよ、config.ru の 8 行目の問題は次のようになります。

read 'config/database.yml'

それを削除して、herokuと競合しない他の方法を見てください

幸運を

于 2012-10-14T19:33:56.237 に答える
1

ソース管理下config/database.ymlにフォルダーがある場合にのみ、Herokuが作成するようです。configドキュメントでは説明されていません。

于 2012-10-14T20:32:17.110 に答える