| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
To make quote escape binary data correctly it needs the column passed in.
|
|
|
|
|
|
| |
assertion for
https://github.com/rails/rails/blob/ad624345e54bd20802de67b2b5c9ef29ecf5
d5f4/activerecord/lib/active_record/inheritance.rb#L32
|
| |
|
|
|
|
| |
Take the opportunity to showcase where.not.
|
|
|
|
|
| |
This is a follow up to #5321 and follows the general direction in
AR to make things lazy evaluated.
|
|
|
|
|
| |
This allows end-users to have a `connection` method on their models
without clashing with ActiveRecord internals.
|
|
|
|
|
| |
During insertion of "# This migration comes from ... " comment at the beginning of
a migration, presence of magic comment was not considered.
|
|\
| |
| |
| |
| |
| |
| | |
Fix ActiveRecord `subclass_from_attrs` when eager_load is false.
Conflicts:
activerecord/CHANGELOG.md
|
| |
| |
| |
| |
| | |
It cannot find subclass because all classes are loaded automatically
when it needs.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use the index name explicitly provided in a migration when reverting.
Fixes #8868
Conflicts:
activerecord/CHANGELOG.md
|
| | |
| | |
| | |
| | | |
schema_statements uses the column name by default to construct the index name, and then raises an exception if it doesn't exist, even if the name option is specified, which causes #8858. this commit makes index_name_for_remove fall back to constructing the index name to remove based on the name option.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
cfabianski/disable_prepared_statement_when_preparing_a_query
Unprepared Visitor + unprepared_statement
Conflicts:
activerecord/CHANGELOG.md
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduced in f1082b8588a9144eedb34d511f0074031f692d98.
Full changelog in 9f007d7fe5f90257c71baa2c4e7c76fb44512986.
[ci skip]
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently Post.active.inactive will result in Post.inactive since
the last where clause wins when scopes are merged.
This pull request will merge all scopes ( barring defaul scope)
using AND.
The default scope will be overridden if another scope acts on the
same where clause.
closes #7365
|
|\ \
| | |
| | | |
test case for `serialize` default values.
|
| | |
| | |
| | |
| | | |
Closes #9110
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
cache_key consults updated_on timestamp if present
Conflicts:
activerecord/CHANGELOG.md
|
| | |
| | |
| | |
| | |
| | | |
- Extract max timestamp retrieval for cache_key
- Update changelog for cache_key changes
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
More helpful error message when instantiating an abstract class
Conflicts:
activerecord/CHANGELOG.md
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Calling a literal ActiveRecord::Base.new raises NoMethodError,
since it ends up calling Class.abstract_class? which does not exist.
Similarly, instantiating an actual abstract class hits the database,
when conventionally it should immediately throw NotImplementedError.
ActiveRecord::Base can't be made abstract without breaking many,
many things, so check for it separately.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It was added because a regression caused by a712e08ebe21f6d8653a0e6602df2e0f5d40d9ca
Closes #9255
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Closes #9518.
The rake task used to fail silently and left an empty `structure.sql`.
It's confusing for users to get to the root of the problem.
The warning message tells them where to look.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As of ccc6910c we use `mysqldump` to create the `structure.sql`.
The old `#structure_dump` code is still in AR but never used.
I removed all relevant parts from the code-base.
|
|\ \ \ \
| |_|_|/
|/| | | |
Transactions can be turned off per Migration
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Closes #9483.
There are SQL Queries that can't run inside a transaction. Since
the Migrator used to wrap all Migrations inside a transaction there
was no way to run these queries within a migration.
This patch adds `self.disable_ddl_transaction!` to the migration to
turn transactions off when necessary.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The cleanup commit a85625d broke the test-case.
The schema was no longer modified so there was no
way to check that the rollback actually happened.
|
|/ / /
| | |
| | |
| | | |
public API.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Closes #9459.
The PR #6597 unified the configuration for `include_root_in_json`
in AM and AR to `false`.
Later on with the refactoring commit: e030f26 the value in AR was
set to `true` but I think this was not on purpose.
With this commit both AM and AR will have the same configuration
for `include_root_in_json`, which is `false`.
|
| | | |
|
|/ /
| |
| |
| |
| | |
relations. Specific where values can be unscoped, and the unscope method
still works when relations are merged or combined.
|
|\ \
| | |
| | |
| | | |
Fix PostgreSQL TIMESTAMP WITH TIME ZONE to return ActiveSupport::Time
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In an AR model a timestamptz attribute would return a ruby string and AR
tests did not check for any type casting. Previous tests would pass
only because an assert_equal was being used on a Time.utc object, which
will parse the right side of the eq to a valid Time instance for
comparision.
switch to test instance of Time instead of ActiveSupport::TimeWithZone
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closes #7364.
Collection associations behave similar to Arrays. However there is no
way to prepend records. And to append one should use `<<`. Before this
patch `#append` and `#prepend` did not add the record to the loaded
association.
`#append` now behaves like `<<` and `#prepend` is not defined.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Closes #9480.
We use `TableDefinition` for `#create_table` and `Table` for `#change_table`.
The PostgreSQL sepcifc types were only defined on `TableDefinition` so I
also added them to `Table`.
|
| |
| |
| |
| |
| | |
This reverts commit 408227d9c5ed7de26310d72a1a99c1ee02311c63, reversing
changes made to dca0b57d03deffc933763482e615c3cf0b9a1d97.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the parent of a `belongs_to` record fails to be saved due to
validation errors, `touch` will be called on a new record, which causes
an exception (see https://github.com/rails/rails/pull/9320).
Example:
class Owner < ActiveRecord::Base
validates_presence_of :name
end
class Pet < ActiveRecord::Base
belongs_to :owner, touch: true
end
pet = Pet.new(owner: Owner.new)
# Before, this line would raise ActiveRecord::ActiveRecordError
# "can not touch on a new record object"
pet.save
|
|\ \
| |/
|/| |
Expand order(:symbol) to "table".symbol to prevent broken queries on PG.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #9275.
When `#order` is called with a Symbol this patch will prepend the quoted_table_name.
Before the postgresql adapter failed to build queries containg a join and an order
with a symbol.
This expansion happens for all adapters.
|
| | |
|
|/ |
|
|\
| |
| | |
Changed update to use prepared statements
|
| | |
|
| |
| |
| |
| |
| | |
object that has not yet been persisted. This behavior follows the
precedent set by update_columns.
|
| | |
|