| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
active models
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Those vars can be used in tasks, which not call load_config.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
In commit d1d7c86d0 I moved setting migrations paths into activerecord's
railtie to remove Rails dependency on databases.rake. However, it
introduced a regression, ENGINE_PATH was not available at the moment, so
engine's migrations where not added properly to paths. Fix was added
at 97a4a771, but it changes a way things work from using ENGINE_PATH to
APP_RAKEFILE. Additionally, the config runs when the code loads, while
previously it ran in the db:load_config rake task
In order to make it more in pair with original version this commit
changes the config to run only on load_config task. This code uses the
fact that defining a task in rake does not overwrite, but only appends.
It also allows to get back to checking for ENGINE_PATH
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Closes #11026
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
fixes #10669
While joining_values special treatment is given to string values.
By flattening the array it ensures that string values are detected
as strings and not arrays.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
currently `post.comments.find(Comment.first.id)` would load all
comments for the given post to set the inverse association.
This has a huge performance penalty. Because if post has 100k
records and all these 100k records would be loaded in memory
even though the comment id was supplied.
Fix is to use in-memory records only if loaded? is true. Otherwise
load the records using full sql.
Fixes #10509
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
fix bad test by making number that fits for integer
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
PR https://github.com/rails/rails/pull/10566 had to be reverted
because after applying the fix test
"test_raise_record_not_found_error_when_invalid_ids_are_passed"
started failing.
In this test invalid_id is being assigned a really large number
which was causing following failure when PR #10566 was applied.
```
RangeError: bignum too big to convert into `long long'
SELECT `interests`.* FROM `interests`
WHERE `interests`.`man_id` = ? AND `interests`.`id` = ?
LIMIT 1 [["man_id", 970345987], ["id", 2394823094892348920348523452345]]
```
This test is not failing in master because when test code
`man.interests.find(invalid_id)` is executed then interests
are fully loaded in memory and no database query is executed.
After PR #10566 was merged then test code
`man.interests.find(invalid_id)` started executing sql query
and hence the error.
In case someone is wondering why the second part of query is not
failing, then that's because the actual query does not require
any variable substituation where the number is large. In that
case the sql generate is following.
```
SELECT `interests`.* FROM `interests`
WHERE `interests`.`man_id` = ? AND `interests`.`id`
IN (8432342, 2390102913, 2453245234523452) [["man_id", 970345987]]
```
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix documents for create_join_table [ci skip]
|
| |/ / / / / / |
|
|/ / / / / / |
|
| |_|_|_|/
|/| | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Handle single quotes in PostgreSQL default column values
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
PostgreSQL escapes single quotes by using an additional single quote.
When Rails queries the column information, PostgreSQL returns the
default values with the escaped single quotes.
#extract_value_from_default now converts these to one single quote each.
Fixes #10881.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit 2b817a5e89ac0e7aeb894a40ae7151a0cf3cef16, reversing
changes made to 353a398bee68c5ea99d76ac7601de0a5fef6f4a5.
Conflicts:
activerecord/CHANGELOG.md
Reason: the build broke
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If I have a query that produces sql
`WHERE "users"."name" = 'a b'` then in the log all the
whitespace is being squeezed. So the sql that is printed in the
log is `WHERE "users"."name" = 'a b'`.
This can be confusing. This commit fixes it by ensuring that
whitespace is not squeezed.
fixes #10982
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
currently `post.comments.find(Comment.first.id)` would load all
comments for the given post to set the inverse association.
This has a huge performance penalty. Because if post has 100k
records and all these 100k records would be loaded in memory
even though the comment id was supplied.
Fix is to use in-memory records only if loaded? is true. Otherwise
load the records using full sql.
Fixes #10509
|
| | | | |
| | | | |
| | | | |
| | | | | |
b483a0d2a75b
|
| |/ / /
|/| | |
| | | |
| | | | |
the changelog.
|
|\ \ \ \
| | | | |
| | | | | |
`CollectionProxy#include?` returns `true` and `false` as documented.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* master: (142 commits)
Use Colspan in th Tags
Added test for link_to_unless to make sure the result consistency.
Escape the string even when the condition of link_to_unless is not satisfied.
Add CHANGELOG entry for #10969
Use a case insensitive URI Regexp for #asset_path
collection tags accept html attributes as the last element of collection
Rewind StringIO instances before be parsed again
Use xml instead already parsed xml
Updated the doc for const_regexp [ci skip]
Make test name descriptive and add reference to original regression commit
fixture setup does not rely on `AR::Base.configurations`.
regression test + mysql2 adapter raises correct error if conn is closed.
cleanup, remove trailing whitespace from AR changelog
'json' gem is no more required under JRuby
fix typos
Fix AS changelog [ci skip]
Update the HTML boolean attributes per the HTML 5.1 spec
Changing const_regexp to check for constant name.
valid_app_const? -> valid_const?
Add CHANGELOG entry for #10740
...
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
correct documentation about active_record.default_timezone
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | |_|/ / / /
| |/| | | | | |
Fix test, addresss => address
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
As you can also configure your database connection using `ENV["DATABASE_URL"]`,
the fixture setup can't reply on the `.configurations` Hash.
As the fixtures are only loaded when ActiveRecord is actually used
(`rails/test_help.rb`) it should be safe to drop the check for an existing configuration.
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
fix typos
|
| | | |_|_|/ /
| | |/| | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Refactored ActiveRecord `first` method to get rid of duplication.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | |_|_|/ / /
| |/| | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
recreate the models without mucking with internal caches of the relation
objects, then the test fails.
For example:
class Man < ActiveRecord::Base
has_many :interests
end
class Interest < ActiveRecord::Base
belongs_to :man
end
Then do this test:
def test_validate_presence_of_parent_fails_without_inverse_of
repair_validations(Interest) do
Interest.validates_presence_of(:man)
assert_no_difference ['Man.count', 'Interest.count'] do
man = Man.create(:name => 'John',
:interests_attributes => [{:topic=>'Cars'}, {:topic=>'Sports'}])
assert_not_predicate man.errors[:"interests.man"], :empty?
end
end
end
The test will fail. This is a bad test, so I am removing it.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
guides/source/upgrading_ruby_on_rails.md
|
| | | | | | | | |
|
| | | | | | | | |
|