From 4b639904d7bc4407657767bb963997bc78678d03 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sat, 27 Oct 2007 18:51:32 +0000 Subject: Fix has_many :through delete with custom foreign keys. Closes #6466. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8043 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/fixtures/book.rb | 4 ++++ activerecord/test/fixtures/books.yml | 7 +++++++ activerecord/test/fixtures/citation.rb | 6 ++++++ activerecord/test/fixtures/db_definitions/schema.rb | 9 +++++++++ 4 files changed, 26 insertions(+) create mode 100644 activerecord/test/fixtures/book.rb create mode 100644 activerecord/test/fixtures/books.yml create mode 100644 activerecord/test/fixtures/citation.rb (limited to 'activerecord/test/fixtures') diff --git a/activerecord/test/fixtures/book.rb b/activerecord/test/fixtures/book.rb new file mode 100644 index 0000000000..cfd07abddc --- /dev/null +++ b/activerecord/test/fixtures/book.rb @@ -0,0 +1,4 @@ +class Book < ActiveRecord::Base + has_many :citations, :foreign_key => 'book1_id' + has_many :references, :through => :citations, :source => :reference_of, :uniq => true +end diff --git a/activerecord/test/fixtures/books.yml b/activerecord/test/fixtures/books.yml new file mode 100644 index 0000000000..473663ff5b --- /dev/null +++ b/activerecord/test/fixtures/books.yml @@ -0,0 +1,7 @@ +awdr: + id: 1 + name: "Agile Web Development with Rails" + +rfr: + id: 2 + name: "Ruby for Rails" diff --git a/activerecord/test/fixtures/citation.rb b/activerecord/test/fixtures/citation.rb new file mode 100644 index 0000000000..545aa8110d --- /dev/null +++ b/activerecord/test/fixtures/citation.rb @@ -0,0 +1,6 @@ +class Citation < ActiveRecord::Base + belongs_to :reference_of, :class_name => "Book", :foreign_key => :book2_id + + belongs_to :book1, :class_name => "Book", :foreign_key => :book1_id + belongs_to :book2, :class_name => "Book", :foreign_key => :book2_id +end diff --git a/activerecord/test/fixtures/db_definitions/schema.rb b/activerecord/test/fixtures/db_definitions/schema.rb index 9cadc5bdb8..5bde5126d5 100644 --- a/activerecord/test/fixtures/db_definitions/schema.rb +++ b/activerecord/test/fixtures/db_definitions/schema.rb @@ -290,6 +290,15 @@ ActiveRecord::Schema.define do t.column :developer_id, :integer, :null=>false end + create_table :books, :force => true do |t| + t.column :name, :string + end + + create_table :citations, :force => true do |t| + t.column :book1_id, :integer + t.column :book2_id, :integer + end + create_table :inept_wizards, :force => true do |t| t.column :name, :string, :null => false t.column :city, :string, :null => false -- cgit v1.2.3