Railsでのカラムの消し方
Railsにはスキーマキャッシュというものがあり、いきなりカラムを削除するとそのカラムを参照している箇所がなかったとしてもエラーになってしまうことがある
機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べらたカラムの一部が消えてしまうため、不正なクエリとなってエラーになってしまう。
https://eagletmt.hateblo.jp/entry/2017/09/24/004709
基本的には上記記事の通り4段階でやる
そのカラムを参照している箇所を直す
Model.ignored_columnsにそのカラムを追加する
実際にカラムを消す
Model.ignored_columnsを削除
HerokuのRelease Phaseでdb:migrateを実行している場合、新しいslugがリリースされる前にマイグレーションされることが保証されているので3と4はまとめてやることができる