2

Rails 3.2.6を使用して実行しようとしています

heroku run rake db:migrate

アダプターエラーが発生します

rake aborted!
Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.)

私のdatabase.ymlでは、開発、本番、およびテストを次のように設定しています。

adapter: mysql2

これは私の宝石環境です

➜  my_app git:(master) gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.3 (2012-11-10 patchlevel 327) [x86_64-darwin11.4.2]
  - INSTALLATION DIRECTORY: /Users/jcollyer/.rvm/gems/ruby-1.9.3-p327
  - RUBY EXECUTABLE: /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/jcollyer/.rvm/gems/ruby-1.9.3-p327/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /Users/jcollyer/.rvm/gems/ruby-1.9.3-p327
     - /Users/jcollyer/.rvm/gems/ruby-1.9.3-p327@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

グーグルで見つけたいくつかのことを試しましたが、うまくいきませんでした。どんな助けでも大歓迎です!ありがとう!

4

2 に答える 2

7

Heroku は、データベースへの接続に database.yml ファイルの代わりに構成プロパティ DATABASE_URL を使用することに注意してください。設定されていることを確認してください。ClearDB アドオンを使用している場合、必要な値は CLEARDB_DATABASE_URL にある必要があります。

heroku config

ClearDB が設定した CLEARDB_DATABASE_URL 構成変数の値をコピーします。DATABASE_URL を同じ値に設定します

heroku config:set DATABASE_URL=mysql2://bb06ca765fb123:71b6dabc@us-cdbr-east-04.cleardb.com/heroku_703eded6aebc123?reconnect=true

これがキャッチです。ほとんどの人は mysql2 gem を使用しているため、通常は DATABASE_URL を mysql ではなく mysql2... に設定する必要があります。

mysql を放棄して postgre に移行する必要はありません。

于 2013-07-23T16:24:04.727 に答える
1

Heroku では、データベースの最適なオプションは postgresql です。要約すると、いくつかの理由があります。それが、Heroku が機能するように設計された方法です。

単純に rails orm を使用している場合は、開発環境で mysql2psql gem を使用し、運用環境で postgresql を使用するように構成ファイルを変更できます。

何らかの理由で本当に mysql と結婚している場合は、アプリを起動して実行するために heroku アドオンをインストールする必要があります。いくつかのオプションがありますが、ここに 1 つがあります: https://addons.heroku.com/cleardb

しかし実際には、最善の策はアプリを postgresql に移行することです。その価値はあります。

詳細はこちら: https://devcenter.heroku.com/articles/heroku-mysql

于 2013-05-10T16:03:10.270 に答える