したいこと
Docker内でマイグレーションする際マイグレーションファイルにエラーがあったため、特定のマイグレーションファイルのみ先にマイグレーションしたい。
###現状
Docker内で作成したデータベースでマイグレーションファイルの順番に間違いがあり、マイグレーションができない状態です。
###原因・理由
・migration時に外部キー元のテーブルがないため。
※既存のrailsアプリにDockerを導入しようとしているため、一度にマイグレーションをせざるをえない状況になっています。
###行ったこと、調べたこと
ターミナルでdocker-compose run web bin/rake db:migrateを実行したところ次のエラーが表示される。
PG::UndefinedTable: ERROR: relation "gyms" does not exist
下記記事の通り、先に実行するべきマイグレーションIDを指定してマイグレーションを実行したところ、指定をしているはずなのにエラーが出るファイルがマイグレーションされてしまいます。
https://qiita.com/hrnEaSwzbOLaWj6/items/a23db1e630bafb18fe27
PG::UndefinedTable: ERROR: relation "gyms" does not exist
Docker内でマイグレーションファイルのロールバックはできています。
解決方法としては、
・現在のDocker内のデータベースを消して、Docker内に新しく【マイグレーションファイルを修正した、ローカルのリポジトリを反映したdatabase: myapp_development】を作成してマイグレーションすれば良いと思っています。
そのために今回消さなければいけない、volumeを探す方法がわかりません。
ターミナルでdocker volume ls と入力すると、画像の様にvolume名が表示されますがどのボリュームを消して良いのかがわかりません。
動いているvolume名を見つける方法についてアドバイスをください。
また、Docker内でマイグレーションファイルを指定できる方法がありましたら教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。