| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
PostgreSQL: `:collation` support for string and text columns
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Example:
create_table :foos do |t|
t.string :string_en, collation: 'en_US.UTF-8'
t.text :text_ja, collation: 'ja_JP.UTF-8'
end
|
| |
| |
| |
| |
| | |
Some databases like MySQL allow defining collation charset for specific
columns.
|
|\ \
| | |
| | | |
Change the `visit_AddColumn` visiblity for the internal API
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | | |
Move comment about microseconds [ci skip]
|
| |/
| |
| |
| | |
The microseconds handling was already moved to `Quoting#quoted_date`.
|
| |
| |
| |
| | |
Follow up #18914.
|
|/
|
|
|
| |
Its nodoc'ed for the other implementations, and doc'ed in the base
class, just like the other change_column* methods.
|
|
|
|
|
|
| |
`change_column_null` is doc'ed only in
ActiveRecord::ConnectionAdapters::SchemaStatements, so it would make
sense to :nodoc: it elsewhere.
|
| |
|
|\
| |
| | |
Nodoc validate_index_length! method
|
| |
| |
| |
| | |
- This method is used only by adapters to validate length of new index names.
|
|/
|
|
|
|
| |
- Added documentation for index_name_exists? and rename_index.
- Also changed rails to \Rails in documentation of
allowed_index_name_length.
|
| |
|
|\
| |
| |
| | |
Fix unscope for less than
|
| |
| |
| |
| |
| |
| | |
Code such as the following will be corrected.
Developer.where(id: -Float::INFINITY...2).unscope(where: :id)
|
|\ \
| | |
| | |
| | | |
Raise ArgumentError when find_by receives no arguments
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It fixes the strange error saying undefined method `take'.
```
RelationTest#test_find_by_without_arg_behaves_same_with_find_by({}):
NoMethodError: undefined method `take' for #<ActiveRecord::QueryMethods::WhereChain:0x007f9c55db1d68>
```
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Add note about sti column value to becomes method [ci skip]
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
calebthompson/dont-rely-on-environment-task-for-schema-load"
This reverts commit 08ff4ccbbb3fb143a02e6752efb974a4bcfcd3bb, reversing
changes made to 6c9ed6dbc62450cdb87559afd15798305e069146.
Caused by #17920.
Closes #19545.
This patch introduced regressions because initializers were no longer
loaded. Specifically missing inflections result in broken restores of
the database.
|
| | |
| | |
| | |
| | | |
Also added reference for to_date, as it belongs historically.
|
| | |
| | |
| | |
| | | |
follow up to 107526e809ea2b6de8b2775ecf83e55d60833206
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Fix missing index when using timestamps with index
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `index` option used with `timestamps` should be passed to both
`column` definitions for `created_at` and `updated_at` rather than just
the first.
This was happening because `Hash#delete` is used to extract the `index`
option passed to `timestamps`, thereby mutating the `options` hash
in-place. Now take a copy of the `options` before deleting so that the
original is not modified.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In 1f006c an option was added called :class to allow passing anonymous
classes to association definitions. Since using :class instead of
:class_name is a fairly common typo even amongst experienced developers
this can result in hard to debug errors arising in raise_on_type_mismatch?
To fix this we're renaming the option from :class to :anonymous_class as
that is a more correct description of what the option is for. Since this
was an internal, undocumented option there is no need for a deprecation.
Fixes #19659
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This will avoid the indirection of having calling id since we already
know which is the primary key column.
Also this will make explicit the behavior since it is not clear that id
gets the right primary key value and not just the value of the "id"
column.
|
|\ \ \ \
| | | | |
| | | | | |
Raise StaleObjectError if touched object is stale and locking is enabled
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes #19776
change test variable names and use more verbose on method
less verbose
use _read_attribute instead of send
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To me it seems like this should only be the case if `autosave: true` is
set on the association. However, when implemented that way, it caused
issues with has many associations, where we have explicit tests stating
that child records are updated when the parent is new, even if autosave
is not set (presumably to update the parent id, but other changed
attributes would be persisted as well).
It's quirky, but at least we should be consistently quirky. This
constitutes a minor but subtle change in behavior, and therefore should
not be backported to 4.2 and earlier.
Fixes #19782
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | | |
[Doc] Encourage users to user super to override methods.
[ci skip]
|
|/ / /
| | |
| | | |
IMO we shouldn't encourage users to use methods they shouldn't need to know about. As Song (in this example) inherits from ActiveRecord, we can use super here instead to get the same effect with the bonus of not knowing how active record actually implements these methods.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 524d40591eaa2f4d007409bfad386f6b107492eb, reversing
changes made to 34d3a6095100245283861ef480a54d0643bbee4c.
Reasoning behind the revert are in the PR discussion:
https://github.com/rails/rails/pull/19755
- This means that types can no longer cast to/from `Set`, and reasonably
work with `where` (we already have this problem for `array`/`json`
types on pg)
- This adds precedent for every other `Enumerable`, and we can't target
`Enumerable` directly.
- Calling `to_a` on a `Set` is reasonable.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously `#where` used to treat `Set`objects as nil, but now it treats
them as an array:
set = Set.new([1, 2])
Author.where(:id => set)
# => SELECT "authors".* FROM "authors" WHERE "authors"."id" IN (1, 2)
|
| | |
| | |
| | |
| | | |
Fixes #18106
|
| | |
| | |
| | |
| | |
| | |
| | | |
We should document current behavior, and this is design of API for now.
Closes #17597
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Documentation is giving an example that can be replaced by a more dry command.
Give a hint that ids can be used instead of pluck(:id).
|
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Without this note, someone can misunderstand the usage of validates_presence_of method
add missing note for the validates_presence_of
|
| | |
| | |
| | |
| | |
| | |
| | | |
The implementation of the generation of the foreign key name was changed
between Rails 4.2.0 and 4.2.1 from a random to a deterministic behavior,
however the documentation still describes the old randomized behavior.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[fixes #18606]
Make belongs_to use touch over touch_later when running the callbacks.
Add more tests and small method rename
Thanks Jeremy for the feedback.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Change join model name constant to private constant
|
| | | |
| | | |
| | | |
| | | | |
This will resolve the fixme message which is about making constant invisible.
|