In file http://svn.rubyonrails.org/rails/trunk/activerecord/lib/active_record/schema_dumper.rb in method SchemaDumper#table there are these three lines:
[snip] column_specs = columns.map do |column| raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" if @types[column.type].nil? next if column.name == pk [snip]
Shouldn't it test for column.name == pk before @types[column.type].nil? column.type is nil for primary keys as far as I can see in the connection adapters (its value is got from ConnectionAdapters::Column.simplified_type).