aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make SchemaDumper emit "id: :uuid" when appropriate. Fixes #10451.Brian Buchanan2013-05-032-2/+6
|
* Do not overwrite manually built records during one-to-one nested attribute ↵Olek Janiszewski2013-05-032-11/+40
| | | | | | | | | | | | | | | | | | | | | assignment For one-to-one nested associations, if you build the new (in-memory) child object yourself before assignment, then the NestedAttributes module will not overwrite it, e.g.: class Member < ActiveRecord::Base has_one :avatar accepts_nested_attributes_for :avatar def avatar super || build_avatar(width: 200) end end member = Member.new member.avatar_attributes = {icon: 'sad'} member.avatar.width # => 200
* Merge pull request #10417 from jholton/fix_association_auto_saveJon Leighton2013-05-031-9/+8
|\ | | | | autosave_association issue that occurs when table has unique index (resubmission)
| * destroys association records before saving/inserting new association recordsJohnny Holton2013-05-021-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes bug introduced by #3329 These are the conditions necessary to reproduce the bug: - For an association, autosave => true. - An association record is being destroyed - A new association record is being created. - There is a unique index one of the association's fields. - The record being created has the same value as the record being destroyed on the indexed field. Before, the deletion of records was postponed until after all insertions/saves. Therefore the new record with the identical value in the indexed field caused a non-unique value error to be thrown at the database level. With this fix, the deletions happen first, before the insertions/saves. Therefore the record with the duplicate value is gone from the database before the new record is created, thereby avoiding the non-uniuqe value error.
* | Merge pull request #10424 from markevich/fix_test_prepareRafael Mendonça França2013-05-021-3/+7
|\ \ | | | | | | Restore ActiveRecord connection to original environment after rake:db:test:prepare task.
| * | rake:db:test:prepare falls back to original environment after execution.markevich2013-05-021-3/+7
| |/
* / Add parameter :sslcompression to PostgreSQL adapter.Lars Kanis2013-05-021-2/+2
|/ | | | It is new in PostgreSQL-9.2 .
* Merge pull request #7839 from ↵Aaron Patterson2013-05-012-8/+22
|\ | | | | | | | | chancancode/handle_aliased_attributes_in_ar_relation Handle aliased attributes in AR::Relation
| * Handle aliased attributes in ActiveRecord::Relation.Godfrey Chan2013-05-012-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using symbol keys, ActiveRecord will now translate aliased attribute names to the actual column name used in the database: With the model class Topic alias_attribute :heading, :title end The call Topic.where(heading: 'The First Topic') should yield the same result as Topic.where(title: 'The First Topic') This also applies to ActiveRecord::Relation::Calculations calls such as `Model.sum(:aliased)` and `Model.pluck(:aliased)`. This will not work with SQL fragment strings like `Model.sum('DISTINCT aliased')`. Github #7839 *Godfrey Chan*
* | Improve docs for postgresql with uuid primary keys [ci skip]Carlos Antonio da Silva2013-05-011-8/+7
|/ | | | Introduced in 09ac1776abc0d3482f491f2d49f47bcb3d9a4ad7.
* allow override of uuid_generate_v4() default by passing default: nilChad Moone2013-05-011-1/+30
| | | | without this, it's not possible to use UUID primary keys without uuid-ossp installed and activated
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-05-013-3/+12
|\
| * readonly info for save and save!Neeraj Singh2013-04-171-0/+6
| |
| * documentation fixes for Array.wrap and AR::Validations::AssociatedValidatorHrvoje Šimić2013-04-171-2/+2
| |
| * updated rdoc to reflect info about readonly attributeNeeraj Singh2013-04-171-0/+2
| |
| * without autosave option updated records not saveNeeraj Singh2013-04-171-1/+2
| | | | | | | | | | Emphasizing that without autosave option only new records are saved and updated records are not saved
* | maintain return value for recreate_databaseAaron Patterson2013-04-301-1/+2
| |
* | Mute psql output when running rake db:schema:loadGodfrey Chan2013-04-301-1/+1
| |
* | Fix #8856 Ensure has_one association=(associate) triggers save.Chris Thompson2013-04-301-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | activerecord/lib/active_record/associations.rb states: # [association=(associate)] # Assigns the associate object, extracts the primary key, sets it as the foreign key, # and saves the associate object. Since commit 42dd5d9f2976677a4bf22347f2dde1a8135dfbb4 to fix #7191, this is no longer the case if the associate has changed, but is the same object. For example: # Pirate has_one :ship pirate = Pirate.create!(catchphrase: "A Pirate") ship = pirate.build_ship(name: 'old name') ship.save! ship.name = 'new name' pirate.ship = ship That last line should trigger a save. Although we are not changing the association, the associate (ship) has changed.
* | Merge pull request #10390 from Noemj/bind_param_handlingRafael Mendonça França2013-04-301-3/+3
|\ \ | | | | | | Added :nodoc: for relation.rb's private methods
| * | Added :nodoc: for private methodsNoemj2013-04-301-3/+3
| | |
* | | mysql needs to reconnect after recreate. Thanks @mperhamAaron Patterson2013-04-301-0/+1
| | |
* | | Abort a rake task when missing db/structure.sql like `db:schema:load` task.kennyj2013-05-012-5/+11
|/ /
* | Moved update_record logic to relation.rbNoemj2013-04-302-26/+28
| |
* | add missing :nodoc: marks to ActiveRecord::Delegation [ci skip]Francesco Rodriguez2013-04-291-3/+3
| |
* | rails/master is now 4.1.0.betaRafael Mendonça França2013-04-291-1/+1
| |
* | Bump version to rc1David Heinemeier Hansson2013-04-291-1/+1
| |
* | Merge pull request #10372 from ↵Jeremy Kemper2013-04-283-12/+13
|\ \ | | | | | | | | | | | | jeremy/statement-invalid-wraps-underlying-exception StatementInvalid takes WrappedDatabaseException's place
| * | StatementInvalid takes WrappedDatabaseException's placeJeremy Kemper2013-04-283-12/+13
| | |
* | | Delegate #unscope query methodCarlos Antonio da Silva2013-04-281-1/+1
|/ /
* | fixes a test, and explains why AR::AttributeMethods checks ↵Xavier Noria2013-04-282-1/+6
| | | | | | | | defined?(@attributes) in some places
* | ActiveRecord -> Active RecordXavier Noria2013-04-251-1/+1
| |
* | fixes warning in the AR test suiteXavier Noria2013-04-251-1/+1
| |
* | Review DatabaseTasks docs [ci skip]Carlos Antonio da Silva2013-04-241-17/+17
| |
* | Move method used only in the test to the test code itselfIvan Kataitsev2013-04-251-8/+0
| |
* | Merge branch 'active-record-standalone-improvements'Piotr Sarnacki2013-04-243-24/+90
|\ \
| * | Use env == 'development' instead of env.development?Piotr Sarnacki2013-04-241-1/+1
| | | | | | | | | | | | | | | | | | It's simpler to assume that passed env is just a string without any extensions, especially when DatabaseTasks are intended to be used also without rails.
| * | Don't require Rails.env in order to use AR::Tasks::DatabaseTasksPiotr Sarnacki2013-04-242-6/+8
| | |
| * | Add some documentation to ActiveRecord::Tasks::DatabaseTasksPiotr Sarnacki2013-04-241-1/+29
| | | | | | | | | | | | | | | | | | This is a public class, which could be used directly in order to allow easier database management. Now it also contains settings, which will be used by databases.rake.
| * | Use DatabaseTasks.fixtures_path instead of FIXTURES_PATH in db.rakePiotr Sarnacki2013-04-243-3/+22
| | | | | | | | | | | | | | | | | | This will allow to set fixtures path in global config easier, it should be not needed to use FIXTURES_PATH every time user wants to load fixtures.
| * | Don't require having Rails.application to run database tasksPiotr Sarnacki2013-04-243-15/+32
| | |
* | | Fix a SystemStackError that occurs when using time zone aware attributes.Dan Erikson2013-04-251-1/+1
| | | | | | | | | | | | This fixes issue #10066
* | | Remove code duplicationNeeraj Singh2013-04-241-8/+9
| | |
* | | Lookup the class at runtime, not when the association is builtAndrew White2013-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to lookup the parent class when the association is being built runs the risk of generating uninitialized constant errors because classes haven't been fully defined yet. To work around this we look up the class at runtime through the `association` method. Fixes #10197.
* | | Revert "Revert "`belongs_to :touch` behavior now touches old association ↵Andrew White2013-04-241-1/+12
|/ / | | | | | | | | | | | | | | | | when transitioning to new association" until a proper fix is found for #10197" This reverts commit 7389df139a35436f00876c96d20e81ba23c93f0a. Conflicts: activerecord/test/cases/timestamp_test.rb
* | Revert "`belongs_to :touch` behavior now touches old association when ↵David Heinemeier Hansson2013-04-231-12/+1
| | | | | | | | transitioning to new association" until a proper fix is found for #10197
* | When empty options passed to having clause having_values was [nil] but ↵Fyodor2013-04-231-1/+0
| | | | | | | | should be empty.
* | Update counter cache when pushing into associationMatthew Robertson2013-04-211-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a regression bug in which counter_cache columns were not being updated correctly when newly created records were being pushed into an assocation. EG: # this was fine @post.comment.create! # this was fine @comment = Comment.first @post.comments << @comment # this would not update counters @post.comments << Comment.create!
* | Merge pull request #10280 from vipulnsward/fix_typos_tempSteve Klabnik2013-04-212-2/+2
|\ \ | | | | | | fix typos [ci skip]
| * | fix typosVipul A M2013-04-212-2/+2
| | |