2015-01-10 13:57:14 -05:00
|
|
|
* `attribute_will_change!` will no longer cause non-persistable attributes to
|
|
|
|
be sent to the database.
|
|
|
|
|
|
|
|
Fixes #18407.
|
|
|
|
|
|
|
|
*Sean Griffin*
|
|
|
|
|
2015-01-09 18:55:52 -05:00
|
|
|
* Remove support for the `protected_attributes` gem.
|
|
|
|
|
2015-01-10 06:17:57 -05:00
|
|
|
*Carlos Antonio da Silva*, *Roberto Miranda*
|
2015-01-09 18:55:52 -05:00
|
|
|
|
2015-01-06 07:31:34 -05:00
|
|
|
* Fix accessing of fixtures having non-string labels like Fixnum.
|
2015-01-06 04:24:41 -05:00
|
|
|
|
|
|
|
*Prathamesh Sonpatki*
|
|
|
|
|
2015-01-05 05:49:02 -05:00
|
|
|
* Remove deprecated support to preload instance-dependent associations.
|
2015-01-05 05:44:14 -05:00
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2015-01-05 05:09:29 -05:00
|
|
|
* Remove deprecated support for PostgreSQL ranges with exclusive lower bounds.
|
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2015-01-05 04:08:06 -05:00
|
|
|
* Remove deprecation when modifying a relation with cached arel.
|
|
|
|
This raises an `ImmutableRelation` error instead.
|
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2015-01-05 03:16:40 -05:00
|
|
|
* Added `ActiveRecord::SecureToken` in order to encapsulate generation of
|
|
|
|
unique tokens for attributes in a model using `SecureRandom`.
|
2014-12-28 17:24:10 -05:00
|
|
|
|
|
|
|
*Roberto Miranda*
|
|
|
|
|
2015-01-04 09:31:58 -05:00
|
|
|
* Change the behavior of boolean columns to be closer to Ruby's semantics.
|
|
|
|
|
|
|
|
Before this change we had a small set of "truthy", and all others are "falsy".
|
|
|
|
|
|
|
|
Now, we have a small set of "falsy" values and all others are "truthy" matching
|
|
|
|
Ruby's semantics.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-04 09:23:57 -05:00
|
|
|
* Deprecate `ActiveRecord::Base.errors_in_transactional_callbacks=`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-06 08:04:20 -05:00
|
|
|
* Change transaction callbacks to not swallow errors.
|
2015-01-04 09:23:57 -05:00
|
|
|
|
2015-01-06 08:04:20 -05:00
|
|
|
Before this change any errors raised inside a transaction callback
|
|
|
|
were getting rescued and printed in the logs.
|
2015-01-04 09:23:57 -05:00
|
|
|
|
2015-01-06 08:04:20 -05:00
|
|
|
Now these errors are not rescued anymore and just bubble up, as the other callbacks.
|
2015-01-04 09:23:57 -05:00
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-04 09:07:03 -05:00
|
|
|
* Remove deprecated `sanitize_sql_hash_for_conditions`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-04 08:49:49 -05:00
|
|
|
* Remove deprecated `Reflection#source_macro`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-03 23:03:53 -05:00
|
|
|
* Remove deprecated `symbolized_base_class` and `symbolized_sti_name`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-03 22:45:54 -05:00
|
|
|
* Remove deprecated `ActiveRecord::Base.disable_implicit_join_references=`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-06 08:04:20 -05:00
|
|
|
* Remove deprecated access to connection specification using a string accessor.
|
2015-01-03 22:32:18 -05:00
|
|
|
|
|
|
|
Now all strings will be handled as a URL.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-03 22:24:40 -05:00
|
|
|
* Change the default `null` value for `timestamps` to `false`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-03 21:49:41 -05:00
|
|
|
* Return an array of pools from `connection_pools`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-03 21:42:59 -05:00
|
|
|
* Return a null column from `column_for_attribute` when no column exists.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-03 21:36:27 -05:00
|
|
|
* Remove deprecated `serialized_attributes`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2015-01-03 21:19:29 -05:00
|
|
|
* Remove deprecated automatic counter caches on `has_many :through`.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2014-12-24 03:58:19 -05:00
|
|
|
* Change the way in which callback chains can be halted.
|
|
|
|
|
|
|
|
The preferred method to halt a callback chain from now on is to explicitly
|
|
|
|
`throw(:abort)`.
|
|
|
|
In the past, returning `false` in an ActiveRecord `before_` callback had the
|
|
|
|
side effect of halting the callback chain.
|
|
|
|
This is not recommended anymore and, depending on the value of the
|
|
|
|
`config.active_support.halt_callback_chains_on_return_false` option, will
|
|
|
|
either not work at all or display a deprecation warning.
|
2014-12-15 01:10:15 -05:00
|
|
|
|
|
|
|
*claudiob*
|
|
|
|
|
2015-01-02 12:34:25 -05:00
|
|
|
* Clear query cache on rollback.
|
2014-11-24 06:04:01 -05:00
|
|
|
|
2015-01-02 12:34:25 -05:00
|
|
|
*Florian Weingarten*
|
2014-11-24 06:04:01 -05:00
|
|
|
|
2014-05-25 10:08:11 -04:00
|
|
|
* Fixed setting of foreign_key for through associations while building of new record.
|
|
|
|
|
|
|
|
Fixes #12698.
|
|
|
|
|
|
|
|
*Ivan Antropov*
|
|
|
|
|
2014-12-11 08:57:28 -05:00
|
|
|
* Improve a dump of the primary key support. If it is not a default primary key,
|
|
|
|
correctly dump the type and options.
|
|
|
|
|
|
|
|
Fixes #14169, #16599.
|
|
|
|
|
|
|
|
*Ryuta Kamizono*
|
|
|
|
|
2014-12-17 02:01:28 -05:00
|
|
|
* Format the datetime string according to the precision of the datetime field.
|
|
|
|
|
|
|
|
Incompatible to rounding behavior between MySQL 5.6 and earlier.
|
|
|
|
|
|
|
|
In 5.5, when you insert `2014-08-17 12:30:00.999999` the fractional part
|
|
|
|
is ignored. In 5.6, it's rounded to `2014-08-17 12:30:01`:
|
|
|
|
|
|
|
|
http://bugs.mysql.com/bug.php?id=68760
|
|
|
|
|
|
|
|
*Ryuta Kamizono*
|
|
|
|
|
2014-11-19 05:59:14 -05:00
|
|
|
* Allow precision option for MySQL datetimes.
|
|
|
|
|
|
|
|
*Ryuta Kamizono*
|
|
|
|
|
2014-06-15 19:15:32 -04:00
|
|
|
* Fixed automatic inverse_of for models nested in module.
|
|
|
|
|
|
|
|
*Andrew McCloud*
|
|
|
|
|
2013-08-15 03:13:25 -04:00
|
|
|
* Change `ActiveRecord::Relation#update` behavior so that it can
|
|
|
|
be called without passing ids of the records to be updated.
|
|
|
|
|
|
|
|
This change allows to update multiple records returned by
|
|
|
|
`ActiveRecord::Relation` with callbacks and validations.
|
|
|
|
|
|
|
|
# Before
|
|
|
|
# ArgumentError: wrong number of arguments (1 for 2)
|
|
|
|
Comment.where(group: 'expert').update(body: "Group of Rails Experts")
|
|
|
|
|
|
|
|
# After
|
|
|
|
# Comments with group expert updated with body "Group of Rails Experts"
|
|
|
|
Comment.where(group: 'expert').update(body: "Group of Rails Experts")
|
|
|
|
|
|
|
|
*Prathamesh Sonpatki*
|
|
|
|
|
2015-01-01 23:35:29 -05:00
|
|
|
* Fix `reaping_frequency` option when the value is a string.
|
|
|
|
|
|
|
|
This usually happens when it is configured using `DATABASE_URL`.
|
|
|
|
|
|
|
|
*korbin*
|
|
|
|
|
2014-12-30 18:59:27 -05:00
|
|
|
* Fix error message when trying to create an associated record and the foreign
|
|
|
|
key is missing.
|
|
|
|
|
|
|
|
Before this fix the following exception was being raised:
|
|
|
|
|
|
|
|
NoMethodError: undefined method `val' for #<Arel::Nodes::BindParam:0x007fc64d19c218>
|
|
|
|
|
|
|
|
Now the message is:
|
|
|
|
|
|
|
|
ActiveRecord::UnknownAttributeError: unknown attribute 'foreign_key' for Model.
|
|
|
|
|
|
|
|
*Rafael Mendonça França*
|
|
|
|
|
2014-12-30 13:37:22 -05:00
|
|
|
* When a table has a composite primary key, the `primary_key` method for
|
|
|
|
SQLite3 and PostgreSQL adapters was only returning the first field of the key.
|
|
|
|
Ensures that it will return nil instead, as Active Record doesn't support
|
|
|
|
composite primary keys.
|
2014-12-30 12:36:37 -05:00
|
|
|
|
|
|
|
Fixes #18070.
|
|
|
|
|
|
|
|
*arthurnn*
|
|
|
|
|
2013-03-25 10:58:23 -04:00
|
|
|
* `validates_size_of` / `validates_length_of` do not count records,
|
|
|
|
which are `marked_for_destruction?`.
|
|
|
|
|
|
|
|
Fixes #7247.
|
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2014-12-29 13:55:50 -05:00
|
|
|
* Ensure `first!` and friends work on loaded associations.
|
|
|
|
|
|
|
|
Fixes #18237.
|
|
|
|
|
|
|
|
*Sean Griffin*
|
|
|
|
|
2014-12-19 11:04:47 -05:00
|
|
|
* `eager_load` preserves readonly flag for associations.
|
|
|
|
|
|
|
|
Closes #15853.
|
|
|
|
|
|
|
|
*Takashi Kokubun*
|
|
|
|
|
2014-12-28 16:25:42 -05:00
|
|
|
* Provide `:touch` option to `save()` to accommodate saving without updating
|
2014-12-27 18:17:57 -05:00
|
|
|
timestamps.
|
|
|
|
|
2014-12-28 16:25:42 -05:00
|
|
|
Fixes #18202.
|
2014-12-27 18:17:57 -05:00
|
|
|
|
|
|
|
*Dan Olson*
|
|
|
|
|
2014-12-27 21:46:36 -05:00
|
|
|
* Provide a more helpful error message when an unsupported class is passed to
|
2014-12-28 16:25:42 -05:00
|
|
|
`serialize`.
|
2014-12-27 21:46:36 -05:00
|
|
|
|
2014-12-28 16:25:42 -05:00
|
|
|
Fixes #18224.
|
2014-12-27 21:46:36 -05:00
|
|
|
|
|
|
|
*Sean Griffin*
|
|
|
|
|
2014-12-27 07:56:00 -05:00
|
|
|
* Add bigint primary key support for MySQL.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
create_table :foos, id: :bigint do |t|
|
|
|
|
end
|
|
|
|
|
|
|
|
*Ryuta Kamizono*
|
|
|
|
|
2014-11-15 13:08:46 -05:00
|
|
|
* Support for any type primary key.
|
|
|
|
|
|
|
|
Fixes #14194.
|
|
|
|
|
|
|
|
*Ryuta Kamizono*
|
|
|
|
|
2014-12-26 03:45:12 -05:00
|
|
|
* Dump the default `nil` for PostgreSQL UUID primary key.
|
|
|
|
|
|
|
|
*Ryuta Kamizono*
|
|
|
|
|
2014-12-23 09:20:39 -05:00
|
|
|
* Add a `:foreign_key` option to `references` and associated migration
|
|
|
|
methods. The model and migration generators now use this option, rather than
|
|
|
|
the `add_foreign_key` form.
|
|
|
|
|
|
|
|
*Sean Griffin*
|
|
|
|
|
2014-12-22 21:30:00 -05:00
|
|
|
* Don't raise when writing an attribute with an out-of-range datetime passed
|
|
|
|
by the user.
|
|
|
|
|
|
|
|
*Grey Baker*
|
|
|
|
|
2014-12-23 06:07:15 -05:00
|
|
|
* Replace deprecated `ActiveRecord::Tasks::DatabaseTasks#load_schema` with
|
|
|
|
`ActiveRecord::Tasks::DatabaseTasks#load_schema_for`.
|
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2014-12-23 01:19:14 -05:00
|
|
|
* Fixes bug with 'ActiveRecord::Type::Numeric' that causes negative values to
|
|
|
|
be marked as having changed when set to the same negative value.
|
|
|
|
|
2014-12-23 02:56:17 -05:00
|
|
|
Closes #18161.
|
2014-12-23 01:19:14 -05:00
|
|
|
|
|
|
|
*Daniel Fox*
|
|
|
|
|
2014-12-18 04:07:23 -05:00
|
|
|
* Introduce `force: :cascade` option for `create_table`. Using this option
|
|
|
|
will recreate tables even if they have dependent objects (like foreign keys).
|
|
|
|
`db/schema.rb` now uses `force: :cascade`. This makes it possible to
|
|
|
|
reload the schema when foreign keys are in place.
|
|
|
|
|
|
|
|
*Matthew Draper*, *Yves Senn*
|
|
|
|
|
2014-12-16 03:58:34 -05:00
|
|
|
* `db:schema:load` and `db:structure:load` no longer purge the database
|
|
|
|
before loading the schema. This is left for the user to do.
|
|
|
|
`db:test:prepare` will still purge the database.
|
|
|
|
|
|
|
|
Closes #17945.
|
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2014-12-23 02:56:17 -05:00
|
|
|
* Fix undesirable RangeError by `Type::Integer`. Add `Type::UnsignedInteger`.
|
2014-11-26 20:06:49 -05:00
|
|
|
|
|
|
|
*Ryuta Kamizono*
|
|
|
|
|
2014-12-08 14:43:16 -05:00
|
|
|
* Add `foreign_type` option to `has_one` and `has_many` association macros.
|
|
|
|
|
|
|
|
This option enables to define the column name of associated object's type for polymorphic associations.
|
|
|
|
|
2015-01-10 06:17:57 -05:00
|
|
|
*Ulisses Almeida*, *Kassio Borges*
|
2014-12-08 14:43:16 -05:00
|
|
|
|
2014-12-04 14:51:41 -05:00
|
|
|
* Remove deprecated behavior allowing nested arrays to be passed as query
|
|
|
|
values.
|
|
|
|
|
|
|
|
*Melanie Gilman*
|
|
|
|
|
2014-12-04 09:49:51 -05:00
|
|
|
* Deprecate passing a class as a value in a query. Users should pass strings
|
|
|
|
instead.
|
|
|
|
|
|
|
|
*Melanie Gilman*
|
|
|
|
|
2014-12-03 13:27:13 -05:00
|
|
|
* `add_timestamps` and `remove_timestamps` now properly reversible with
|
|
|
|
options.
|
|
|
|
|
|
|
|
*Noam Gagliardi-Rabinovich*
|
|
|
|
|
2014-11-06 10:40:51 -05:00
|
|
|
* `ActiveRecord::ConnectionAdapters::ColumnDumper#column_spec` and
|
|
|
|
`ActiveRecord::ConnectionAdapters::ColumnDumper#prepare_column_options` no
|
|
|
|
longer have a `types` argument. They should access
|
|
|
|
`connection#native_database_types` directly.
|
|
|
|
|
|
|
|
*Yves Senn*
|
|
|
|
|
2014-12-03 13:29:26 -05:00
|
|
|
Please check [4-2-stable](https://github.com/rails/rails/blob/4-2-stable/activerecord/CHANGELOG.md) for previous changes.
|