| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fix error when using `with_options` with lambda.
Conflicts:
activerecord/CHANGELOG.md
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It was causing error when using `with_options` passing a lambda as its
last argument.
class User < ActiveRecord::Base
with_options dependent: :destroy do |assoc|
assoc.has_many :profiles, -> { where(active: true) }
end
end
It was happening because the `option_merger` was taking the last
argument and checking if it was a Hash. This breaks the HasMany usage,
because its last argument can be a Hash or a Proc.
As the behavior described in this test:
https://github.com/rails/rails/blob/master/activesupport/test/option_merger_test.rb#L69
the method will only accept the lambda, this way it will keep the expected behavior. See 9eaa0a34
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Improve error message for guides:generate:kindle
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
With `kindlegen` missing from the PATH, the task
keeps suggesting to `gem install kindlerb`.
This change provides a more meaningful error
message for guides:generate:kindle.
|
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | | | | |
Explicitly load Kernel#y when starting a console
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Previously, we relied on the IRB-detection in Psych itself. But that
doesn't work when we're running under spring: the application boots (and
thus psych is required) before we switch to console mode and load IRB.
Fixes #14587.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Revise 'sqlite3:' URL handling for smoother upgrades
Conflicts:
activerecord/CHANGELOG.md
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
That which was now relative is now absolute.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Restore the 4.0 behaviour for 'sqlite3:///', but deprecate it. We'll
change to the absolute-path interpretation in 4.2.
The current "correct" spellings for in-memory, relative, and absolute
URLs, respectively, are:
sqlite3::memory:
sqlite3:relative/path
sqlite3:/full/path
Substantially reverses/defers fbb79b517f3127ba620fedd01849f9628b78d6ce.
Uncovered by @guilleiguaran while investigating #14495, though that
sounds like a different issue.
|
| |\ \ \ \ \ \
| | |_|/ / / /
| |/| | | | | |
Avoid a spurious deprecation warning for database URLs
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The keys are quite sufficient; we shouldn't be throwing passwords
around.
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is all about the case where we have a `DATABASE_URL`, and we have a
`database.yml` present, but the latter doesn't contain the key we're
looking for.
If the key is a symbol, we'll always connect to `DATABASE_URL`, per the
new behaviour in 283a2edec2f8ccdf90fb58025608f02a63948fa0.
If the key is a string, on the other hand, it should always be a URL:
the ability to specify a name not present in `database.yml` is new in
this version of Rails, and that ability does not stretch to the
deprecated use of a string in place of a symbol.
Uncovered by @guilleiguaran while investigating #14495 -- this actually
may be related to the original report, but we don't have enough info to
confirm.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Add ConnectionHelper to refactor tests.
|
| | | | | | | |
|
| |\ \ \ \ \ \ |
|
| | |/ / / / / |
|
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | | | | |
Change order of scope subsections in Active Record Querying guide [ci skip]
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
a concept of default scope in its example before it is introduced in the following section titled `Applying a default scope`.
It makes more sense to switch the ordering to introduce default scopes (`Applying a default scope`) first and then go into `Merging of scopes` section where it is used.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Fix default_url_options example in i18n guide
|
| | | |/ / /
| | |/| | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The option actually needs to be set on action_dispatch. [ci skip]
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change to require all active_support/deprecation since that's the actual
entry point for the deprecation methods.
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
ActiveSupport::SafeBuffer#prepend inconsistency
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Make `#prepend` method modify instance in-place and return self
instead of just returning modified value. That is exactly what
`#prepend!` method was doing previously, so it's deprecated from
now on.
|
| |\ \ \ \ \ \
| | |_|_|/ / /
| |/| | | | | |
Fixed upgrade guide typo
|
| |/ / / / /
| | | | | |
| | | | | | |
Using `Rails.application.config.cookies_serializer :hybrid` throws an exception, fixed to `=`.
|
| |\ \ \ \ \
| | |_|/ / /
| |/| | | | |
We can conditional define the tests depending on the adapter or connection.
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
connection.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
Expand the query used in #table_exists? to include materialized views in the
kinds of relations it searches.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Also do not use transactional fixtures. We drop the type and the
table after every run, so there is nothing for the transaction to clean up.
|
| |\ \ \
| | | | |
| | | | | |
Allow postgresql enum_test to be run in random order.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Creating and dropping similar tables within the same connection causes postgresql to look up old values in the cache of tables which have already been dropped.
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Changed 'so' to 'see'
|
| |/ / / |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* rmc:
push move_string in to `move`
combine move_regexp and move_string so we only loop over states once
do not create memo objects since we'll just throw them away
only ask if `t` is empty once.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Clarify what the situation is and what to do.
* Advise loading schema using `rake db:setup` instead of migrating.
* Use a rescue in the initializer rather than extending the error
message in-place.
* Preserve the original backtrace of other errors by using `raise`
rather than raising again with `raise error`.
References 0ec45cd15d0a2f5aebc75e23d841b6c12f3ba763
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a follow-up fix to f7a6b115fea9f675190a79b701c7034214678f19 and
06082f66d541e581110406bbac3bc395bace3f86
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch registers custom domains in our OID-type_map.
They will behave exactly as the type specified by `pg_type.typbasetype`.
/cc @matthewd
|
| |\ \ \ \
| | | | | |
| | | | | | |
PostgreSQL determine `Column#type` through corresponding OID. #7814
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
I ran the whole test suite and compared the old to the new types.
Following is the list of types that did change with this patch:
```
DIFFERENT TYPE FOR mood: NEW: enum, BEFORE:
DIFFERENT TYPE FOR floatrange: NEW: floatrange, BEFORE: float
```
The `floatrange` is a custom type. The old type `float` was simply a coincidence
form the name `floatrange` and our type-guessing.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
refactor assert_sql query to reuse capture_sql
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
set assert_sql to reuse the capture_sql method from above
instead of repeating the code
in response to comments on issue #14546
|
| |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | | |
eileencodes/fix_delete_all_to_not_use_IN_statement
Fix delete all to not produce sql in statement
|