前提・実現したいこと
DBを途中からmysqlに切り替える
の記事を参考に
railsで作成中のアプリのdbをsqliteからmysqlに切り替える作業を行っております。
発生している問題・エラーメッセージ
この際にrails db:migrateを行うと
rails aborted! Mysql2::Error::ConnectionError: Can't connect to MySQL server on 'localhost' (10061) bin/rails:4:in `require' bin/rails:4:in `<main>' Tasks: TOP => db:migrate (See full trace by running task with --trace)
とエラーを吐かれてしまいました。
調べてみたところ、すでにsqliteで作成したテーブルがあることが原因らしいとわかったのですが
解決するには、dbをリセットするしか手段はないのでしょうか?
該当コード
変更前database.yml
# SQLite. Versions 3.8.0 and up are supported. # gem install mysql2 # # Ensure the SQLite 3 gem is defined in your Gemfile # gem 'mysql2' # default: &default adapter: mysql2 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> timeout: 5000 development: <<: *default database: db/development.mysql2 # 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: db/test.mysql2 production: <<: *default database: db/production.mysql2
変更後
default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: host: localhost development: <<: *default database: peer_development # DBの名前。「sample」の部分をアプリの名前に変更すると分かりやい test: <<: *default database: peer_test # DBの名前。「sample」の部分をアプリの名前に変更すると分かりやい production: <<: *default database: peer_production username: peer_app password: <%= ENV['PEER_DATABASE_PASSWORD'] %>
これです!!
補足情報(FW/ツールのバージョンなど)
ruby on rails 6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/23 10:46
2019/12/24 01:14
2019/12/24 04:31
2019/12/24 05:38
2019/12/24 06:07
2019/12/24 06:11
2019/12/24 13:34
2019/12/24 13:37
2019/12/24 13:40
2019/12/24 13:45