| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Fix occasional microsecond conversion inaccuracy
Conflicts:
activerecord/CHANGELOG.md
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert "Deprecate update_attribute."
This reverts commit b081f6b59fb3f15d12043072ad9b331ffd2bc56e.
Reason: Since the new deprecation policy we removed the deprecation of
update_attribute but we didn't reverted the changes to use
update_column.
Fixes #7306
|
|
|
|
|
|
| |
Integration's definition of #to_param must override
Conversion's. Otherwise, there is a regression from
3.1 in the behavior of a non-persisted AR::Base instance
which nevertheless has an id.
|
|
|
|
|
|
|
|
|
|
|
| |
Historically, update_attribute and update_attributes are similar, but
with one big difference: update_attribute does not run validations.
These two methods are really easy to confuse given their similar
names. Therefore, update_attribute is being deprecated in favor of
update_column, and will be removed in Rails 4.
See the discussion on rails-core here:
https://groups.google.com/d/topic/rubyonrails-core/BWPUTK7WvYA/discussion
|
|
|
|
|
|
| |
Fix #5797. Error calling dup method on AR model with serialized field
Conflicts:
activerecord/lib/active_record/core.rb
|
| |
|
|
|
|
|
|
|
|
| |
Cherry-picked from e96d04a2e4e244ea5053cb4e8ab97db604d0c796.
Conflicts:
activerecord/lib/active_record/attribute_methods/read.rb
|
|
|
|
|
|
| |
Conflicts:
activerecord/lib/active_record/core.rb
|
|
|
|
| |
Signed-off-by: José Valim <jose.valim@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When subclassing abstract_class table_name should be always computed
based on class name, no matter if superclass is subclassing base
or another abstract_class. So:
class FirstAbstract < ActiveRecord::Base
self.abstract_class = true
end
class SecondAbstract < FirstAbstract
self.abstract_class = true
end
class Post < SecondAbstract
self.table_name #=> 'posts' (not 'second_abstracts')
end
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Allows two models to use the same table but have different primary keys.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This means we never have to rely on define_method (which is slower and
uses more memory), even when we have attributes containing characters
that are not allowed in standard method names.
(I am mainly changing this because the duplication annoys me, though.)
|
|
|
|
|
| |
This only existed to support methods like `set_table_name` in Active
Record, which are themselves being deprecated.
|
| |
|
|
|
|
| |
using self.foo=
|
| |
|
| |
|
| |
|
|
|
|
| |
method.
|
|\
| |
| | |
association methods are now generated in modules
|
| | |
|
|/
|
|
| |
This commit contains a simple failing test that demonstrates the behaviour we expect, and a fix. When using `becomes` to transform the type of an object, it should retain any error information that was present on the original instance.
|
| |
|
|
|
|
| |
This reverts commit ee2be435b1e5c0e94a4ee93a1a310e0471a77d07.
|
|
|
|
|
| |
If we don't have a primary key when we ask for it, it's better to fail
fast. Fixes GH #2307.
|
|
|
|
|
| |
For consistency with find_or_initialize_by. Also remove first_or_build
alias.
|
| |
|
|\
| |
| | |
Add first_or_create family of methods to Active Record
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Active Record.
This let's you write things like:
User.where(:first_name => "Scarlett").first_or_create!(:last_name => "Johansson", :hot => true)
Related to #2420.
|
| |
| |
| |
| | |
have been failing intermittently for a long while due to what appears to be a Ruby bug. If anyone has the skills/expertise/time to debug this, please speak to the Travis guys.
|
|/
|
| |
As in previous commit it's removed.
|
|
|
|
| |
Fix test column names are escaped for oracle
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were experiencing CI test failures, for example:
* 3-1-stable: http://travis-ci.org/#!/rails/rails/builds/79473/L407
* master: http://travis-ci.org/#!/rails/rails/builds/79507/L80
These failures only happened on 1.8.7-p352, and we were only able to
reproduce on the Travis CI VM worker. We even tried creating a new 32
bit Ubuntu VM and running the tests on that, and it all worked fine.
After some epic trial and error, we discovered that replacing the
following:
fuu = Marshal.load(Marshal.dump(fuu))
with:
marshalled = Marshal.dump(fuu)
fuu = Marshal.load(marshalled)
seemed to prevent the failure.
We have NO IDEA why this is. If anyone has some great insight to
contribute then that is welcome. Otherwise, hopefully this will just
help us get the CI green again.
Many thanks to @joshk for help with sorting this out.
|
| |
|
|
|
|
| |
for generating SQL. This improves the code architecture generally, and solves some problems with marshalling. Adapter authors please take note: you now need to define an Adapter.visitor_for method, but it degrades gracefully with a deprecation warning for now.
|
|
|
|
| |
even spaces
|
|
|
|
|
|
|
| |
This reverts commit 04cc446d178653d362510e79a22db5300d463161.
I reverted it because apparently we want to use: select([:a, :b])
instead of select(:a, :b), but there was no tests for that form.
|
| |
|
| |
|
| |
|
|
|
|
| |
fix behavior when after_initialize is defined and a block is passed to Base.create
|
|\
| |
| | |
convert multiple Date parameters into a nil if any of its bits were blank
|