| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We need to decorate the types lazily. This is extracted to a separate
API, as there are other refactorings that will be able to make use of
it, and to allow unit testing the finer points more granularly.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The times would be equivalent, even if they were in different time
zones. E.g. 12:00 UTC == 5:00 PDT
|
| |/ / /
|/| | |
| | | |
| | | | |
Millisecond inequality causes failures on Travis
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Add missing test cases for schema dumping defaults
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Before this patch, using `ActiveRecord::Base.primary_key_prefix_type`
with `:table_name_with_underscore` would change the `SchemaMigration` model
to have a primary key. This resulted in broken queries for PG because it tried
to return the inserted PK (which does not exist).
Closes #15051.
Closes #15419.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
/cc @zuhao
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a regression test for #14411, which was fixed by #15503.
Closes #14411
Closes #14595
|
|\ \ \
| | | |
| | | | |
Bring type casting behavior of hstore/json in line with serialized
|
| | | |
| | | |
| | | |
| | | |
| | | | |
`@raw_attributes` should not contain the type-cast, mutable version of
the value.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The migration numbers were normalized different ways. This left
the task output in an inconsistent state.
Closes #15538.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Baseclass becomes! subclass
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
BC era year is (astronomical year + 1) and starts from 1 BC.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Remove deprecated method ActiveRecord::Migrator.proper_table_name
|
| | | | | | |
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`InverseHasManyTests#test_parent_instance_should_be_shared_within_create_block_of_new_child`
was mistakenly the same as
`InverseHasManyTests#test_parent_instance_should_be_shared_within_build_block_of_new_child`.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Follow up to #15438 and #15502.
/cc @sgrif
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Collapse PG default extractoin of most types to single regex
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
For any type that is represented as a string and then type cast, we do
not need separate regular expressions for the various types. No function
will match this regex. User defined types *should* match this, so that
the type object can decide what to do with the value.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Refactor XML serializer to not depend on `serialized_attributes`
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The previous tests were passing, because nothing ever looked at the
generated XML. What was previously being generated was
`<firstname type="NilClass">...`, which is not consistent with all other
cases where there is not a known type.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fix regression on eager loading association based on SQL query rather than existing column.
Conflicts:
activerecord/CHANGELOG.md
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
than existing column.
Fixes #15480.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Return a null column when no column exists for an attribute
Conflicts:
activerecord/CHANGELOG.md
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
implement ActiveRecord::Base#pretty_print
Conflicts:
activerecord/CHANGELOG.md
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Keep column defaults in type cast form
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The contract of `_field_changed?` assumes that the old value is always
type cast. That is not the case for the value in `Column#default` as
things are today. It appears there are other public methods that
assume that `Column#default` is type cast, as well. The reason for this
change originally was because the value gets put into `@raw_attributes`
in initialize. This reverts to the old behavior on `Column`, and updates
`initialize` to make sure that the values are in the right format.
|
| | | | | | | | | |
|
| |_|_|/ / / / /
|/| | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Revert "test pg, remove unused column assignments. Follow up to 254cdf47"
Related to #15492
This reverts commit 254cdf4728291277f3fbaa854f34495030e476b4.
This reverts commit 4bcf9029452e0c760af04faab6b549710401e8cf.
There are public methods that assume `Column#default` is type casted.
The return value of `Column#default` is publicly relevant and should not change.
/cc @sgrif
|
| | | | | | | | |
|
| | | | | | | | |
|
| |_|/ / / / /
|/| | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
That data is internal to Active Record. What we care about is that
new records have the right default value.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
/cc @sgrif
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Nearly completely implemented in terms of custom properties.
`_before_type_cast` now stores the raw serialized string consistently,
which removes the need to keep track of "state". The following is now
consistently true:
- `model.serialized == model.reload.serialized`
- A model can be dumped and loaded infinitely without changing
- A model can be saved and reloaded infinitely without changing
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
During `init_with`, the attributes given to the coder will be placed
into `@raw_attributes`. As such, we should read from `@raw_attributes`
when encoding, rather than `@attributes`, which has been type cast.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Clear all caches calculated based on `@columns` when `@columns` changes
|
| | | | | | |
|