Schema dumper doesn't handle native types correctly. A (very) small (simple) patch below fixes the problem.
def table(table, stream)
...
columns.each do |column|
#raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" if @types[column.type].nil?
next if column.name == pk
tbl.print " t.column #{column.name.inspect}, "
tbl.print @types[column.type].nil? ? ('"'+column.sql_type+'"') : "#{column.type.inspect}"
tbl.print ", :limit => #{column.limit.inspect}" if !@types[column.type].nil? and column.limit != @types[column.type][:limit]
tbl.print ", :default => #{column.default.inspect}" if !column.default.nil?
tbl.print ", :null => false" if !column.null
tbl.puts
end
...
end