aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-02-04 12:15:30 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2011-02-04 18:14:59 -0800
commit0cd42864e3dcba520980f952be9a09c01beddb03 (patch)
tree958a5c1704c1c7deccc0ec61696c2b5126930626 /activerecord/lib/active_record
parent5f3cf4244de4fd62049d08df4e6bf63c945ab90e (diff)
downloadrails-0cd42864e3dcba520980f952be9a09c01beddb03.tar.gz
rails-0cd42864e3dcba520980f952be9a09c01beddb03.tar.bz2
rails-0cd42864e3dcba520980f952be9a09c01beddb03.zip
making sure primary key is set on the columns
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
index bafd79d614..db745e325f 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
@@ -85,7 +85,15 @@ module ActiveRecord
@columns = Hash.new do |h, table_name|
h[table_name] = with_connection do |conn|
- conn.columns(table_name, "#{table_name} Columns")
+
+ # Fetch a list of columns
+ conn.columns(table_name, "#{table_name} Columns").tap do |columns|
+
+ # set primary key information
+ columns.each do |column|
+ column.primary = column.name == primary_keys[table_name]
+ end
+ end
end
end