| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The previous edit kind of de-emphasized that, so changing it to be more explict.
(It also avoids showing it as if it's a string-keyed hash.)
|
|
|
|
|
| |
Also updated the documentation about the new ability to query them normally,
and added test to make sure they work!
|
|
|
|
|
| |
`has_secure_token` hasen't been released yet. No need to track
every change in the CHANGELOG.
|
|
|
|
|
|
|
| |
```
user = User.create(token: "custom-secure-token")
user.token # => "custom-secure-token"
```
|
|\
| |
| | |
Extract `DateTimePrecisionTest`
|
| |
| |
| |
| | |
The datetime precision tests for any adapters is duplicated.
|
|/
|
|
|
|
|
|
| |
Use SQL COUNT and LIMIT 1 queries for none? and one? methods if no block or limit is given,
instead of loading the entire collection to memory. The any? and many? methods already
follow this behavior.
[Eugene Gilburg & Rafael Mendonça França]
|
|\
| |
| | |
Allow `:precision` option for time type columns
|
| | |
|
| |
| |
| |
| |
| | |
This finally removes the warning "WARNING: there is no transaction in progress"
when running Active Record tests using PostgreSQL.
|
| |
| |
| |
| | |
Also removed some cruft in the `setup` and `teardown` methods.
|
| |
| |
| |
| |
| |
| | |
"active_support/testing/stream" is already required in `test_case.rb`.
Furthermore the test "test/cases/migration_test.rb" could no longer be executed
directly.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to cleaning up the implementation, this allows type casting
behavior to be applied consistently everywhere. (#where for example). A
good example of this was the previous need for handling value to key
conversion in the setter, because the number had to be passed to `where`
directly. This is no longer required, since we can just pass the string
along to where. (It's left around for backwards compat)
Fixes #18387
|
|
|
|
|
|
|
|
|
|
|
|
| |
It looks like the only reason `current_scope` was thread local on
`base_class` instead of `self` is to ensure that when we call a named
scope created with a proc on the parent class, it correctly uses the
default scope of the subclass. The reason this wasn't happening was
because the proc captured `self` as the parent class, and we're not
actually defining a real method. Using `instance_exec` fixes the
problem.
Fixes #18806
|
|\
| |
| | |
Refactor `quote_default_expression`
|
| |
| |
| |
| |
| |
| |
| | |
`quote_default_expression` and `quote_default_value` are almost the same
handling for do not quote default function of `:uuid` columns. Rename
`quote_default_value` to `quote_default_expression`, and remove
duplicate code.
|
| |
| |
| |
| |
| |
| | |
As far as I can tell, the original reason that this behavior was added
has been sufficiently resolved elsewhere, as we no longer remove the
encoding of strings coming out of the database.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The latest version of the PG gem can actually convert the primitives for
us in C code, which gives a pretty substantial speed up. A few cases
were only there to add the `infinity` method, which I just put on the
range type (which is the only place it was used). Floats also needed to
parse `Infinity` and `NaN`, but it felt reasonable enough to put that on
the generic form.
|
|\ \
| | |
| | |
| | |
| | | |
kamipo/fix_datetime_precision_dumping_zero_for_postgresql
The datetime precision with zero should be dumped
|
| |/
| |
| |
| |
| | |
`precision: 0` was not dumped by f1a0fa9e19b7e4ccaea191fc6cf0613880222ee7.
However, `precision: 0` is valid value for PostgreSQL timestamps.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MySQL rejects to remove an index which is used in a foreign key constraint:
```
ActiveRecord::StatementInvalid: Mysql2::Error: Cannot drop index 'index_copies_on_title_id': needed in a foreign key constraint: ALTER TABLE `copies` DROP `title_id`
```
Removing the constraint before removing the column (and the index) solves this problem.
|
|\ \
| | |
| | | |
Remove `cast_type` in `ColumnDefinition`
|
| |/
| |
| |
| | |
This is no longer needed.
|
|/
|
|
|
| |
The keys are already validated, so it is better to use the built-in
feature to do this.
|
|\
| |
| | |
Fixed typos in ActiveRecord CHANGELOG [ci skip]
|
| | |
|
|\ \
| |/
|/| |
Add an option `end` to `find_in_batches`
|
| |
| |
| |
| | |
that complements the `start`parameter to specify where to stop batch processing
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The various databases don't actually need significantly different
handling for this behavior, and they can achieve it without knowing
about the type of the object.
The old implementation was returning a string, which will cause problems
such as breaking TZ aware attributes, and making it impossible for the
adapters to supply their logic for time objects.
|
|\ \
| | |
| | |
| | |
| | | |
alex-handley/enhancement/dependent_documentation_fix
Documentation Fix: Corrects explanation of what happens when dependent is not set
|
| |/
| |
| |
| |
| | |
By default the foreign key will remain set with the parent id after
destroy is fired.
|
| |
| |
| |
| | |
Fixes #18871
|
| |
| |
| |
| | |
Significantly faster than `SimpleDelegator`.
|
|\ \
| |/
|/| |
An array type is a part of `sql_type`
|
| |
| |
| |
| |
| |
| | |
`sql_type` is reused in `lookup_cast_type`. If making it a part of
`sql_type` when handled array option first, it isn't necessary to do
again.
|
| |
| |
| |
| | |
Added by 101c19f55f5f1d86d35574b805278f11e9a1a48e.
|
| |
| |
| |
| |
| | |
If timestamp column have the precision, it need to format according to
the precision of timestamp column.
|
|\ \
| | |
| | | |
Respect the database default charset for `schema_migrations` table.
|
| |/
| |
| |
| |
| |
| | |
The charset of `version` column in `schema_migrations` table is depend
on the database default charset and collation rather than the encoding
of the connection.
|
|\ \
| | |
| | | |
Add `auto_increment?` instead of `extra == 'auto_increment'`
|
| |/ |
|
|\ \
| | |
| | | |
Remove unused line
|
| |/ |
|
|/ |
|
|
|
|
|
| |
This predicate is only used in `query_attribute`, and is relatively easy
to remove without adding a bunch of is a checks.
|