git push heroku masterができない。LoadError: Could not load the 'mysql' Active Record adapter.
解決済
回答 1
投稿
- 評価
- クリップ 2
- VIEW 1,538
前提・実現したいこと
自作したRailsアプリケーションをHerokuにデプロイしたいのですが、エラーに対応できず困っています。
git push heroku masterをすると
LoadError: Could not load the 'mysql' Active Record adapter.
が出るのですが、gemfileに'mysql2'はインストールされていますし、database.ymlに記述したadapter: mysql2も間違っていないと思い、他にどのように対応するべきかご教授いただけると幸いです。
発生している問題・エラーメッセージ
$ git push heroku master
Enumerating objects: 642, done.
Counting objects: 100% (642/642), done.
Delta compression using up to 4 threads
Compressing objects: 100% (549/549), done.
Writing objects: 100% (590/590), 3.91 MiB | 302.00 KiB/s, done.
Total 590 (delta 356), reused 5 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
(中略)
remote: Cleaning up the bundler cache.
remote: -----> Installing node-v10.14.1-linux-x64
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: rake aborted!
remote: LoadError: Could not load the 'mysql' Active Record adapter. Ensure that the adapter is spelled correctly in config/database.yml and that you've added the necessary adapter gem to your Gemfile.
remote: /tmp/build_fffb337257033326389fb1b6bf80cc2b/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in `require'
remote: /tmp/build_fffb337257033326389fb1b6bf80cc2b/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require'
remote: /tmp/build_fffb337257033326389fb1b6bf80cc2b/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency'
remote: /tmp/build_fffb337257033326389fb1b6bf80cc2b/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require'
remote: /tmp/build_fffb337257033326389fb1b6bf80cc2b/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.3/lib/active_record/connection_adapters/connection_specification.rb:19
該当のソースコード
config/database.yml
default: &default
adapter: mysql2
encoding: utf8
reconnect: false
pool: 5
development:
<<: *default
database: データベース名
username: root
password:
host: localhost
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: データベース名
username: root
password:
host: localhost
production:
<<: *default
database: heroku_で始まるデータベース名
username: ユーザ名
password: <%= ENV['DATABASE_PASSWORD'] %>
Gemfile
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.2'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.3'
# Use mysql2 as the database for Active Record
gem 'mysql2'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
(後略)
Gemfile.lock
activerecord-mysql2-adapter (0.0.3)
mysql2
mysql2 (0.5.2)
(抜粋)
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
check解決した方法
+2
heroku config:set DATABASE_URL='mysql2://[ユーザ名]:[パスワード]@[ホスト名]/[スキーマ名]?reconnect=true'
もともとmysql://となっていたところをmysql2://としたところうまくいきました
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.21%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる