アプリにおいて、テーブルの追加やカラムの追加は簡単なものの、カラムの削除やリネームは慎重に行う必要がある。アプリからそのカラムを参照してないとしても、いきなりカラムを削除するとエラーになる可能性が大いにある。スキーマキャッシュというものがあり、テーブルのカラム情報をモデルがキャッシュしているからだ。するときに参照される。エンジニアは多いと思う。機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べらたカラムの一部が消えてしまうため、不正なクエリとなってエラーになってしまう。おいてカラムの削除やリネームは面倒なものになっている。オンラインスキーマ変更のやりにくさを解消するために追加された。元に戻してデプロイという流れになる。カラム情報を取得するところにモンキーパッチをあてて特定のカラムを隠すようにすればなんとかいける。メソッドをフックする。グローバルに一意という前提を置いている点に注意する必要がある。同じような効果が得られるので、あとは同じ流れでカラムの削除を進めることができる。アプリで実際に成功したのでまぁたぶんだいたいいけると思う。使ったほうがいいことは言うまでもない。読者になる検索リンクはてなブログブログをはじめる(無料)お知らせはてなブログをはじめよう!eagletmtさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。