Ruby on Railsで開発中、「このテーブルのカラム名を変更したい」「このテーブルの構造を変更したい」といった事態が生じると思います。
こんなとき、最初はdb/migrate
の下にできたファイルを編集すればいいのだと思っていました。しかし、いくら変更しても、追加したカラムが反映されない。どうもおかしい。なぜだろう、といろいろ見てみると、db/schema.rb
というファイルでデータベースの構造を管理していることが分かりました。こちらも編集すると、追加したカラムなどが反映されます。
しかし、このような方法は推奨されない、というかやってはならないものみたいです。rails generate model
した直後に変更するなどならまだしも、以前に作られたものを変更するなどすると、もはや元に戻せなくなり、困ったことになりかねません。ちょっとした変更でも、ちゃんとジェネレータを介して操作した方がいいようですね。