提交 7f20bb99 编写于 作者: J Jon Leighton

Don't store defaults in the schema cache

上级 dee94d8a
......@@ -72,8 +72,8 @@ def get_primary_key(base_name) #:nodoc:
when :table_name_with_underscore
base_name.foreign_key
else
if ActiveRecord::Base != self && connection.schema_cache.table_exists?(table_name)
connection.primary_key(table_name)
if ActiveRecord::Base != self && table_name
connection.schema_cache.primary_keys[table_name]
else
'id'
end
......
......@@ -8,7 +8,7 @@ def initialize(conn)
@connection = conn
@tables = {}
@columns = Hash.new do |h, table_name|
@columns = Hash.new do |h, table_name|
h[table_name] = conn.columns(table_name, "#{table_name} Columns")
end
......@@ -19,8 +19,7 @@ def initialize(conn)
end
@primary_keys = Hash.new do |h, table_name|
h[table_name] = table_exists?(table_name) ?
conn.primary_key(table_name) : 'id'
h[table_name] = table_exists?(table_name) ? conn.primary_key(table_name) : nil
end
end
......
......@@ -1494,6 +1494,7 @@ def test_set_primary_key_with_block
def test_original_primary_key
k = Class.new(ActiveRecord::Base)
def k.name; "Foo"; end
k.table_name = "posts"
k.primary_key = "bar"
assert_deprecated do
......
......@@ -13,7 +13,7 @@ def test_primary_key
end
def test_primary_key_for_non_existent_table
assert_equal 'id', @cache.primary_keys['omgponies']
assert_nil @cache.primary_keys['omgponies']
end
def test_caches_columns
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册