aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations
Commit message (Collapse)AuthorAgeFilesLines
* When preloading has_and_belongs_to_many associations, we should only ↵Jon Leighton2011-03-041-0/+16
| | | | instantiate one AR object per actual record in the database. (Even when IM is off.)
* Rewrote AssociationPreload.Jon Leighton2011-02-282-16/+15
|
* Use proper objects to do the work to build the associations (adding methods, ↵Jon Leighton2011-02-211-8/+12
| | | | callbacks etc) rather than calling a whole bunch of methods with rather long names.
* Don't use skip, just don't run anything, we don't have skip in Ruby 1.8Emilio Tagua2011-02-181-4/+2
|
* Should use "=" instead "replace" after this commit: ↵Emilio Tagua2011-02-181-1/+1
| | | | 1644663ba7f678d178deab2bf1629dc05626f85b
* No need to test agaisnt target.Emilio Tagua2011-02-181-1/+1
|
* Merge remote branch 'rails/master' into identity_mapEmilio Tagua2011-02-187-109/+40
|\ | | | | | | | | | | Conflicts: activerecord/lib/active_record/associations/association.rb activerecord/lib/active_record/fixtures.rb
| * Split AssociationProxy into an Association class (and subclasses) which ↵Jon Leighton2011-02-186-109/+12
| | | | | | | | manages the association, and a CollectionProxy class which is *only* a proxy. Singular associations no longer have a proxy. See CHANGELOG for more.
| * Allow building and then later saving has_many :through records, such that ↵Jon Leighton2011-02-181-0/+18
| | | | | | | | the join record is automatically saved too. This requires the :inverse_of option to be set on the source association in the join model. See the CHANGELOG for details. [#4329 state:resolved]
| * Ensure that association_ids uses the correct attribute where the association ↵Jon Leighton2011-02-181-0/+10
| | | | | | | | is a has_many :through with a :primary_key option on the source reflection. [#6376 state:resolved]
* | Run tests without IdentityMap when IM=false is given.Emilio Tagua2011-02-153-9/+13
| |
* | Merge remote branch 'rails/master' into identity_mapEmilio Tagua2011-02-1514-323/+801
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/examples/performance.rb activerecord/lib/active_record/association_preload.rb activerecord/lib/active_record/associations.rb activerecord/lib/active_record/associations/association_proxy.rb activerecord/lib/active_record/autosave_association.rb activerecord/lib/active_record/base.rb activerecord/lib/active_record/nested_attributes.rb activerecord/test/cases/relations_test.rb
| * Add interpolation of association conditions back in, in the form of proc { ↵Jon Leighton2011-02-145-2/+24
| | | | | | | | ... } rather than instance_eval-ing strings
| * Add missing requireSantiago Pastorino2011-02-131-0/+1
| |
| * Fix table name collision due to incorrect alias count on certain joins.Ernie Miller2011-02-121-0/+7
| | | | | | | | | | | | [#6423 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
| * require tag since we need it for this testAaron Patterson2011-02-071-0/+1
| |
| * Correctly update counter caches on deletion for has_many :through [#2824 ↵Jon Leighton2011-02-072-10/+56
| | | | | | | | state:resolved]. Also fixed a bunch of other counter cache bugs in the process, as once I fixed this one others started appearing like nobody's business.
| * Support the :dependent option on has_many :through associations. For ↵Jon Leighton2011-02-071-0/+100
| | | | | | | | historical and practical reasons, :delete_all is the default deletion strategy employed by association.delete(*records), despite the fact that the default strategy is :nullify for regular has_many. Also, this only works at all if the source reflection is a belongs_to. For other situations, you should directly modify the through association.
| * Make record.association.destroy(*records) on habtm and hm:t only delete ↵Jon Leighton2011-02-072-12/+30
| | | | | | | | records in the join table. This is to make the destroy method more consistent across the different types of associations. For more details see the CHANGELOG entry.
| * the connection pool caches table_exists? callsAaron Patterson2011-02-071-0/+2
| |
| * adjust query counts to be consistent across databases, make sure database ↵Aaron Patterson2011-02-041-3/+6
| | | | | | | | log the same things
| * column cache now lives on the connection poolAaron Patterson2011-02-041-2/+2
| |
| * almost fistedAaron Patterson2011-02-041-2/+2
| |
| * Fixing ordering of HABTM association deletion [#6191 state:resolved]Edward Faulkner2011-02-041-1/+1
| | | | | | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
| * Propagate association extensions to scopes called on the association.Glenn Vanderburg2011-02-011-0/+5
| | | | | | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
| * Has many through - It is not necessary to manually merge in the conditions ↵Jon Leighton2011-01-301-1/+11
| | | | | | | | hash for the through record, because the creation is done directly on the through association, which will already handle setting the conditions.
| * AssociationCollection#clear can basically just use #delete_all, except it ↵Jon Leighton2011-01-301-3/+6
| | | | | | | | should return self.
| * AssociationCollection#to_ary should definitely dup the target! Also changed ↵Jon Leighton2011-01-301-0/+7
| | | | | | | | #replace which was previously incorrect, but the test passed due to the fact that to_a was not duping.
| * DRY up first/last and hence make last benefit from the bugfix in firstJon Leighton2011-01-301-0/+6
| |
| * We shouldn't be using scoped.scoping { ... } to build associated records, as ↵Jon Leighton2011-01-302-1/+32
| | | | | | | | this can affect validations/callbacks/etc inside the record itself [#6252 state:resolved]
| * Removed support for accessing attributes on a has_and_belongs_to_many join ↵Jon Leighton2011-01-161-83/+0
| | | | | | | | table. This has been documented as deprecated behaviour since April 2006. Please use has_many :through instead. A deprecation warning will be added to the 3-0-stable branch for the 3.0.4 release.
| * belongs_to records should be initialized within the association scopeJon Leighton2011-01-161-0/+21
| |
| * Add create_association! for belongs_toJon Leighton2011-01-161-0/+17
| |
| * Add missing requireSantiago Pastorino2011-01-141-0/+1
| |
| * include_in_memory? should check against @target list in case of new records. ↵Aaron Patterson2011-01-121-0/+7
| | | | | | | | [#6257 state:resolved]
| * adding a test for no method errorAaron Patterson2011-01-111-0/+52
| |
| * use underlying _read_attribute method rather than causing NoMethodErrorsAaron Patterson2011-01-111-1/+1
| |
| * Support for create_association! for has_one associationsJon Leighton2011-01-111-0/+18
| |
| * Get rid of set_association_target and association_loaded? as the parts of ↵Jon Leighton2011-01-111-1/+1
| | | | | | | | the code that need that can now just use association_proxy(:name).loaded?/target=
| * Raise ActiveRecord::RecordNotSaved if an AssociationCollection fails to be ↵Jon Leighton2011-01-111-0/+13
| | | | | | | | replaced
| * When assigning a has_one, if anything fails, the assignment should be rolled ↵Jon Leighton2011-01-111-2/+5
| | | | | | | | back entirely
| * In a number of places in the tests, we only need to turn off transactional ↵Jon Leighton2011-01-111-1/+2
| | | | | | | | fixtures when the DB does not support savepoints. This speeds the test run up by about 8-9% on my computer, when running rake test_sqlite3_mem :)
| * When assigning a has_one, if the new record fails to save, raise an errorJon Leighton2011-01-111-14/+14
| |
| * When assigning a has_one, if the existing record fails to be removed from ↵Jon Leighton2011-01-111-0/+12
| | | | | | | | the association, raise an error
| * has_one should always remove the old record (properly), even if not saving ↵Jon Leighton2011-01-111-10/+25
| | | | | | | | the new record, so we don't get the database into a pickle
| * Fix polymorphic belongs_to associationproxy raising errors when loading target.Ernie Miller2011-01-111-0/+9
| |
| * Don't not remove double negativesJon Leighton2011-01-071-1/+1
| |
| * Construct an actual ActiveRecord::Relation object for the association scope, ↵Jon Leighton2011-01-071-8/+0
| | | | | | | | rather than a hash which is passed to apply_finder_options. This allows more flexibility in how the scope is created, for example because scope.where(a, b) and scope.where(a).where(b) mean different things.
| * just use a hash for doing association cachingAaron Patterson2011-01-071-2/+2
| |
| * fixing merge errorsAaron Patterson2011-01-042-78/+0
| |