0

Ryan が VPS をセットアップする railscast をフォローしています。しかし、postgresql の代わりに mysql をインストールする必要があります。

cap deploy:cold コマンドを実行すると、mysql2 gem をインストールしようとすると失敗するバンドルが実行されるまで、すべて正常に実行されているように見えます。

サーバーにログインして手動でインストールしました(データベースはすでにセットアップされていました)。

しかし、rake db:migrate コマンドを実行すると、次のエラーが発生し続けます。

rake aborted!
database configuration does not specify adapter

Tasks: TOP => db:migrate => db:load_config

database.yml ファイルには次のものがあります

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: blog_production
  pool: 5
  username: blog
  password: *****
  host: localhost
  socket: /var/run/mysqld/mysqld.sock

ソケットをデフォルトから編集し、ホスト行を追加および削除し、宝石を手動でインストールしましたが、何も機能していないようです!

4

2 に答える 2

5

これは通常、デプロイ スクリプトまたは現在 VPS にログインしているユーザーが RAILS_ENV 環境変数を設定していない場合に発生します。次に、デフォルトで「開発」になり、database.yml にはその環境用の構成がありません。だから試してみてください

RAILS_ENV=production bundle exec rake db:migrate --trace

代わりは。

于 2012-05-04T08:35:13.143 に答える
2

破損したymlファイルで解決しました。

database.yml ファイルの名前を変更して再作成すると、機能しました。

于 2012-11-01T20:12:46.263 に答える