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