| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | | |
This fixes issue #10066
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
when transitioning to new association" until a proper fix is found for #10197"
This reverts commit 7389df139a35436f00876c96d20e81ba23c93f0a.
Conflicts:
activerecord/test/cases/timestamp_test.rb
|
| |
| |
| |
| | |
transitioning to new association" until a proper fix is found for #10197
|
| |
| |
| |
| | |
should be empty.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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!
|
|\ \
| | |
| | | |
fix typos [ci skip]
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Object#respond_to? returns singletons and thus we inherit that contract.
The implementation of the predicate is good, but the test is only
checking boolean semantics, which in this case is not enough.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fixes #4208
If a query selects only a few columns and gives custom names to
those columns then respond_to? was returning true for the non
selected columns. However calling those non selected columns
raises exception.
post = Post.select("'title' as post_title").first
In the above case when `post.body` is invoked then an exception is
raised since `body` attribute is not selected. Howevere `respond_to?`
did not behave correctly.
pos.respond_to?(:body) #=> true
Reason was that Active Record calls `super` to pass the call to
Active Model and all the columns are defined on Active Model.
Fix is to actually check if the data returned from the db contains
the data for column in question.
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit e8727d37fc49d5bf9976c3cb5c46badb92cf4ced, reversing
changes made to d098e1c24bc145e0cc14532348436e14dc46d375.
Reason: it broke the mysql build
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Postgresql array columns don't properly escape single quote strings when loading fixtures
|
| | |
| | |
| | |
| | | |
- A string in an array of strings that has a quote char (') needs to have that quote char escaped if the array is getting wrapped in quote chars.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Support transactions in Migrator.run
Conflicts:
activerecord/CHANGELOG.md
|
| | |/
| |/| |
|
|\ \ \
| |_|/
|/| |
| | |
| | | |
calebthompson/ct-fix-freeze-freezing-cloned-models
Fix freeze applying to cloned objects
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, freezing a cloned ActiveRecord object froze the original
too. By cloning `@attributes` before freezing, we prevent cloned objects
(which in Ruby share state of ivars) from being effected by `#freeze`.
Resolves issue #4936, which has further information on this issue, as
well as steps to reproduce.
* Add a test case for `#freeze` not causing `cloned.frozen?` to be true.
* Clone @attributes before freezing in `ActiveRecord::Core`, then
reassign the cloned, frozen hash to the frozen model's `@attributes`
ivar.
/cc @steveklabnik
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 521035af530482d6d9ad2dae568eaeb0ab188e1c, reversing
changes made to 222011dbee842bbc60d3aaaa3145356b90a30fd1.
Reason: This broke the tests
|
|\ \ \
| | | |
| | | | |
DB with postgres string array column doesn't load fixtures well
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix subject-verb agreement in error msg (and other grammar stuff)
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Closes #10198.
|
| | | | |
| | | | |
| | | | |
| | | | | |
bit column in Postgresql, because solving ambiguity.
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
db:test:load task should be favored over db:test:load_schema, because it
checks for chosen format (ActiveRecord::Base.schema_format).
closes #10227
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
AR postgres binary bug fix
|
| | |_|/
| |/| | |
|
|/ / / |
|
|\ \ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Existing code was delegating to the instance with delegate
macro calls, or invoking the instance method to reach
the object and call its instance methods.
But the point is to have a clean class-level interface where
the thread local instance is hidden in the implementation.
References #11c6973.
References #10198.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Registries have class-level accessors to write clean code, let's
use them. This makes style uniform also with existing usage in
ScopeRegistry and InstrumentationRegistry.
If performance of the method_missing callback was ever considered to
be a concern, then we should stop using it altogether and probably
remove the callback. But while we have the feature we should use it.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The previous version was kind of duplicating the documentation of
AS::PerThreadRegistry. Just say how to use it, the thread locals
registry is know part of our vocabulary (though a pointer to
Active Support is added for reference).
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* It focuses on how to use it.
* Removes some ambigueties in the original docs about whether the state is stored in the class.
* Documents it provides class-level accessors via method_missing.
* Documents that if the extended class has an initializer, it must accept no arguments.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
guides/source/action_mailer_basics.md
|
| | | | |
|
| | | | |
|
| | | | |
|