aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/schema/schema.rb
diff options
context:
space:
mode:
authorNeeraj Singh <neerajdotname@gmail.com>2013-05-09 13:08:44 -0400
committerNeeraj Singh <neerajdotname@gmail.com>2013-10-14 11:59:59 -0400
commitcd9592959f9f16b228ac3f4bc6fc92932253f8dc (patch)
treefaed0751594dc3790c0a575c96c169c7571fe899 /activerecord/test/schema/schema.rb
parent25649c7fd74219881342b2cb59f97c08f646a4ea (diff)
downloadrails-cd9592959f9f16b228ac3f4bc6fc92932253f8dc.tar.gz
rails-cd9592959f9f16b228ac3f4bc6fc92932253f8dc.tar.bz2
rails-cd9592959f9f16b228ac3f4bc6fc92932253f8dc.zip
scope_chain should not be mutated for other reflections
Currently `scope_chain` uses same array for building different `scope_chain` for different associations. During processing these arrays are sometimes mutated and because of in-place mutation the changed `scope_chain` impacts other reflections. Fix is to dup the value before adding to the `scope_chain`. Fixes #3882.
Diffstat (limited to 'activerecord/test/schema/schema.rb')
-rw-r--r--activerecord/test/schema/schema.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/schema/schema.rb b/activerecord/test/schema/schema.rb
index 75711673a7..88a686d436 100644
--- a/activerecord/test/schema/schema.rb
+++ b/activerecord/test/schema/schema.rb
@@ -787,6 +787,22 @@ ActiveRecord::Schema.define do
t.string 'from'
end
+ create_table :hotels, force: true do |t|
+ end
+ create_table :departments, force: true do |t|
+ t.integer :hotel_id
+ end
+ create_table :cake_designers, force: true do |t|
+ end
+ create_table :drink_designers, force: true do |t|
+ end
+ create_table :chefs, force: true do |t|
+ t.integer :employable_id
+ t.string :employable_type
+ t.integer :department_id
+ end
+
+
except 'SQLite' do
# fk_test_has_fk should be before fk_test_has_pk
create_table :fk_test_has_fk, :force => true do |t|