In Rails 3.1.1 the following migration line creates a column of MySQL type MEDIUMTEXT: t.text :example, :limit => 0x555555 # this happens to be the maximum length for MEDIUMTEXT. 0x555556 results in LONGTEXT. however the resulting line in db/schema.rb is t.text "example", :limit => 16777215 which creates a column of type LONGTEXT. I would expect that the database column types created by the migration files would be the same as those created by the db/schema.rb file.