質問: ### 前提・実現したいこと Railsでウェブアプリケーションを作っています。初心者でこれがひとつ目のサービス開発です。 Docker for Macで開発環境を構築しています。 開発中に誤って、`rake db:migrate:reset` を実行してしまい、その結果DBが壊れてしまいました。 gitのコミットログから、`schema.rb` は最新に戻すことができたので、`schema.rb`をもとに、DBを再構築したいと考えております。 想定手順としては、 1. `rake db:reset`でschema.rbを元にDBを再構築 2. AWSで運用している本番のmysqlからデータをdump 3. 2のdumpfileをもとに、1のDBをリストア 4. 失ったデータ差分は手動でSQLでINSERT(幸い差分は少ないのでなんとかなりそう) という手順を考えていて、`rake db:reset`を実行したのすが、エラーが発生してしまいました。 ``` Unknown MySQL server host 'mysql' (0) ``` dockerのDB用のコンテナ名は`mysql`にしており、それをdatabase.ymlで`host: mysql`と記述しています。 どこがおかしいか見当がつかずでして、アドバイスを頂けますと幸いです。 よろしくお願いいたします。
回答: 参考情報 * rake db:reset と rake db:migrate:reset の違い db/migrate/*.rb があれば、 $ rake db:drop db:create db:migrate とすれば DB は復旧できる(ただし テーブルの中味は空)、 dbschema.rb も再生成されると思います。 その後で、DB バックファイルから リストアし、それ例外の変更を反映できるはずです。