Railsにてscaffoldしてmigrationしたのにデータベースにcreateされるテーブルのカラムが足りない

Rails2.xにて、scaffold のオプションにてカラムの型を指定しますが、これには大文字小文字の区別がある。誤って大文字を設定してmigrationを実行してしまうと、そのカラムは設定されない。このとき、何もエラーらしきものが発生しないのも注意!(※RadRails上、そう見えるだけなのかもしれない?)


誤ってStringと型指定してしまう

> scaffold user name:String

生成されるマイグレーションファイル

class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.String :name # 正しくは t.string :name

      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end

migration実行

> rake migration

 コンソール上にも、特にエラーもなにも起こらない


生成されたテーブル

 name カラムが生成されない

mysql> desc users;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| created_at | datetime     | YES  |     | NULL    |                |
| updated_at | datetime     | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
7 rows in set (0.02 sec)