migrationファイルでカラムを追加/削除してもschema.rbに反映しないのはなぜか
Rails初心者です。
マイグレーションの仕組みについて教えて下さい。
以下のようなことを先輩に教えてもらいました。
「Railsは、マイグレーションファイルとschema_migrationsテーブルを比較して
未実行のマイグレーションを自動的に見つけて実行する」
そこで私はすでに実行されている複数のマイグレーションファイルのひとつにおいて
以下の作業をしました。
実行前
t.string :name
t.string :email
t.string :address
実行後
t.string :name
t.string :address
emailの行を削除したのです。
その上で、rake db:migrateを実行しました。
私の予想では、schema.rbにおいて、emailのカラムが削除されると思っていましたが
結果的には変化はありませんでした。
逆に、カラムをひとつ追加しても結果は同じでした。
これはなぜでしょうか?
※カラムを追加/削除する方法として適切ではないことは知っていますが、どういう理屈なのかが知りたいのです。