私がやろうとしているのは、RDS上のdbインスタンスを使用してHerokuにRailsアプリをデプロイすることだけです。これは簡単なはずです。
私は自分でmysql2アダプターを使用しており、herokuにプッシュして、この回答database.yml
に従ってdbインスタンスを追加しました。私は基本的にそれをTまでたどりましたが、エラーは発生しません。しかし、これは明らかにするものです:missing gem
heroku logs
/app/vendor/bundle/ruby/1.9.1/bundler/gems/mysql2-e5992664a7bc/lib/mysql2/client.rb:56:in connect': Can't connect to MySQL server on 'nickcoxrails.cud3e2tma07q.us-east-1.rds.amazonaws.com' (110) (Mysql2::Error)
また、私のRDSインスタンスがus-eastにあることに注意してください。これは、ここでの問題であると聞きました。
私のgemfileには、次のものがあります。
gem 'mysql2', :git => 'git://github.com/brianmario/mysql2.git'
私のmysql2gemは、ローカルで動作させる唯一の方法だったため(Rails 3.2.6を使用しているため、最初の回答でバージョン0.3未満を使用すると、ローカルRailsサーバーでエラーが発生したため)、多くのこと(ローカルマシンでmysqlを実行するのに本当に問題がありました)。
私は間違いなくこの回答ごとにセキュリティグループを追加し、この回答ごとにmysql2データベースを追加しました。また、herokuアカウントにRDSアドオンを追加しました。私はandandrake db:create
とすべてrake db:schema:load
を実行しrake db:migrate
ましたが、ローカルデータベースをRDSインスタンスにエクスポートしたので(そのデータをそのまま保持する必要があります)、それは何も新しいことをしません。また、Sequel Proを介してRDSインスタンスに接続できるので、クレデンシャルの問題ではないことがわかります。
これは私の最初のRailsアプリのデプロイなので、恐れずに答えをおろそかにして、「プラグインされていますか?」に相当するものを教えてください。heroku / Rails /RDS/などのテクニカルサポートの質問。