aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/CHANGELOG.md
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Format the datetime string according to the precision of the datetime field.Ryuta Kamizono2015-01-021-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Allow precision option for MySQL datetimes.Ryuta Kamizono2015-01-021-0/+4
| | | | |
* | | | | Merge pull request #15746 from amccloud/auto-inverse_of-in-moduleRafael Mendonça França2015-01-021-0/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed automatic inverse_of for models nested in module Conflicts: activerecord/CHANGELOG.md
| * | | | | Fixed automatic inverse_of for models nested in moduleAndrew McCloud2014-06-151-0/+4
| | | | | |
* | | | | | Merge pull request #11898 from prathamesh-sonpatki/patch-updateRafael Mendonça França2015-01-021-0/+16
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed ActiveRecord::Relation#update behavior so that it will work on Relation objects without giving id Conflicts: activerecord/CHANGELOG.md
| * | | | | Allow ActiveRecord::Relation#update to run on result of a relation with ↵Prathamesh Sonpatki2014-12-201-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | callbacks and validations - Right now, there is no method to update multiple records with validations and callbacks. - Changed the behavior of existing `update` method so that when `id` attribute is not given and the method is called on an `Relation` object, it will execute update for every record of the `Relation` and will run validations and callbacks for every record. - Added test case for validating that the callbacks run when `update` is called on a `Relation`. - Changed test_create_columns_not_equal_attributes test from persistence_test to include author_name column on topics table as it it used in before_update callback. - This change introduces performance issues when a large number of records are to be updated because it runs UPDATE query for every record of the result. The `update_all` method can be used in that case if callbacks are not required because it will only run single UPDATE for all the records.
* | | | | | Merge pull request #18080 from korbin/fix_reaping_frequency_configurationRafael Mendonça França2015-01-021-0/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Fix issue with reaping_frequency type.
* | | | | | | Fix error message when trying to create an associated recordRafael Mendonça França2014-12-301-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This error only happens when 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.
* | | | | | | Update CHANGELOG entry for #18070 [ci skip]Prathamesh Sonpatki2014-12-311-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Improved wording of CHANGELOG entry for https://github.com/arthurnn/rails/commit/5acd24bbeae0e9e5e81e87b5929e17f35527b2ea.
* | | | | | | Ensures that primary_key method will return nil when multi-pkArthur Neves2014-12-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When table has a composite primary key, the `primary_key` method for sqlite3 and postgresql was only returning the first field of the key. Ensures that it will return nil instead, as AR dont support composite pks.
* | | | | | | AR specific length validator to respect `marked_for_destruction`.Yves Senn2014-12-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #7247. Conflicts: activerecord/CHANGELOG.md activerecord/test/models/owner.rb
* | | | | | | Ensure `first!` and friends work on loaded associationsSean Griffin2014-12-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #18237
* | | | | | | `eager_load` preserves readonly flag for associationsTakashi Kokubun2014-12-301-0/+6
| |_|_|/ / / |/| | | | |
* | | | | | docs, cleanup Active Record CHANGELOG. [ci skip]Yves Senn2014-12-281-4/+4
| | | | | |
* | | | | | Provide :touch option to save() to accommodate saving without updating ↵Dan Olson2014-12-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | timestamps. [#18202]
* | | | | | Provide a better error message for unsupported classes in `serialize`Sean Griffin2014-12-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only support classes which provide a no-args constructor to use as a default value. We can provide a more helpful error message if we catch this when `serialize` is called, rather than letting it error when you try to assign the attribute. Fixes #18224
* | | | | | Add bigint primary key support for MySQL.Ryuta Kamizono2014-12-281-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: create_table :foos, id: :bigint do |t| end
* | | | | | Support for any type primary key.Ryuta Kamizono2014-12-281-0/+6
| | | | | |
* | | | | | Dump the default `nil` for PostgreSQL UUID primary key.Ryuta Kamizono2014-12-261-0/+4
| | | | | |
* | | | | | Changelog for 99a6f9e60ea55924b44f894a16f8de0162cf2702Sean Griffin2014-12-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Here you go, @senny. :grin:
* | | | | | Merge Pull Request #18157Sean Griffin2014-12-231-0/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md
| * | | | | | Don't raise on out-of-range datetimes passed by a userGrey Baker2014-12-231-0/+5
| | |/ / / / | |/| | | |
* | | | | | Replace deprecated `#load_schema` with `#load_schema_for`.Yves Senn2014-12-231-0/+5
| | | | | |
* | | | | | cleanup CHANGELOGs. [ci skip]Yves Senn2014-12-231-2/+2
| | | | | |
* | | | | | Fixing numeric attrs when set to same negative valueDaniel Fox2014-12-231-0/+7
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug occurs when an attribute of an ActiveRecord model is an ActiveRecord::Type::Integer type or a ActiveRecord::Type::Decimal type (or any other type that includes the ActiveRecord::Type::Numeric module. When the value of the attribute is negative and is set to the same negative value, it is marked as changed. Take the following example of a Person model with the integer attribute age: class Person < ActiveRecord::Base # age :integer(4) end The following will produce the error: person = Person.new(age: -1) person.age = -1 person.changes => { "age" => [-1, -1] } person.age_changed? => true The problematic line is here: module ActiveRecord module Type module Numeric ... def non_numeric_string?(value) # 'wibble'.to_i will give zero, we want to make sure # that we aren't marking int zero to string zero as # changed. value.to_s !~ /\A\d+\.?\d*\z/ end end end end The regex match doesn't accept numbers with a leading '-'.
* | | | | `force: :cascade` to recreate tables referenced by foreign-keys.Yves Senn2014-12-191-0/+7
| | | | |
* | | | | `db:structure:load` and `db:schema:load` no longer purge the database.Yves Senn2014-12-181-0/+8
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #17945 `db:test:prepare` still purges the database to always keep the test database in a consistent state. This patch introduces new problems with `db:schema:load`. Prior to the introduction of foreign-keys, we could run this file against a non-empty database. Since every `create_table` containted the `force: true` option, this would recreate tables when loading the schema. However with foreign-keys in place, `force: true` wont work anymore and the task will crash. /cc @schneems
* | | | Fix undesirable RangeError by Type::Integer. Add Type::UnsignedInteger.Ryuta Kamizono2014-12-121-0/+4
| | | |
* | | | Add foreign_type option for polymorphic has_one and has_many.Ulisses Almeida + Kassio Borges2014-12-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | To be possible to use a custom column name to save/read the polymorphic associated type in a has_many or has_one polymorphic association, now users can use the option :foreign_type to inform in what column the associated object type will be saved.
* | | | Remove deprecated behavior allowing nested arrays as query valuesMelanie Gilman2014-12-041-0/+5
| | | |
* | | | Deprecate `Class` handler in `PredicateBuilder`Melanie Gilman2014-12-041-0/+5
| | | | | | | | | | | | | | | | Users should pass strings to queries instead of classes
* | | | Active Record changelog needs to keep pointing at 4-2-stable. #17651Yves Senn2014-12-031-1/+1
| | | | | | | | | | | | | | | | [ci skp]
* | | | docs, add new changelog entries at the top :sweat: [ci skip] #17651Yves Senn2014-12-031-5/+5
| | | |
* | | | Failure to rollback t.timestamps when within a change_table migrationnoam2014-12-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running the following migration: change_table(:table_name) { |t| t/timestamps } The following error was produced: wrong number of arguments (2 for 1) .... /connection_adapters/abstract/schema_statements.rb:851:in `remove_timestamps' This is due to `arguments` containing an empty hash as its second argument.
* | | | no need to pass native_database_types aroundYves Senn2014-12-021-0/+7
| | | |
* | | | Start Rails 5 development :tada:Rafael Mendonça França2014-11-281-1336/+1
| |_|/ |/| | | | | | | | | | | | | | | | | We will support only Ruby >= 2.1. But right now we don't accept pull requests with syntax changes to drop support to Ruby 1.9.
* | | Active Record change log pass [skip ci]Jon Atack2014-11-261-38/+40
| | |
* | | bring back `db:test:prepare`.Yves Senn2014-11-251-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts deprecations added in #13528. The task is brought back for two reasons: 1. Give plugins a way to hook into the test database initialization process 2. Give the user a way to force a test database synchronization While `test:prepare` is still a dependency of every test task, `db:test:prepare` no longer hooks into it. This means that `test:prepare` runs before the schema is synchronized. Plugins, which insert data can now hook into `db:test:prepare`. The automatic schema maintenance can't detect when a migration is rolled-back, modified and reapplied. In this case the user has to fall back to `db:test:prepare` to force the synchronization to happen.
* | | Merge pull request #17678 from siddharth28/includes_with_scope_with_joinsSantiago Pastorino2014-11-241-0/+6
|\ \ \ | | | | | | | | Fix includes on association with a scope
| * | | Fix includes on association with a scope containing joins along with conditionssiddharth@vinsol.com2014-11-211-0/+6
| | | | | | | | | | | | | | | | on the joined assoiciation
* | | | Add changelog entry for .reflections API changeArthur Neves2014-11-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `.reflections` public API changed to return a String instead of a Symbol as keys. see commit 1f31488499111fdfce79d8dc1cc8fb008f7cdb25 and 6259e4e2dcca9a79f22f96658c33efe81936bc0d [fixes #16928] [fixes #17610]
* | | | Rename the primary key index when renaming a table in pgSean Griffin2014-11-221-0/+6
|/ / / | | | | | | | | | | | | | | | | | | | | | Also checked to make sure this does not affect foreign key constraints. (It doesn't). Fixes #12856 Closes #14088
* | | make it possible to access fixtures excluded by a `default_scope`.Yves Senn2014-11-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Prior to this patch you'd end up with an error like: ``` ActiveRecord::RecordNotFound: Couldn't find <Model> with 'id'=<id> [WHERE (<default_scope condition>)] ```
* | | Merge pull request #17580 from ccutrer/change_table_nameYves Senn2014-11-111-0/+4
|\ \ \ | | | | | | | | | | | | add a Table#name accessor like TableDefinition#name
| * | | add a Table#name accessor like TableDefinition#nameCody Cutrer2014-11-101-0/+4
|/ / /
* | | Merge pull request #11694 from ↵Rafael Mendonça França2014-11-101-0/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Empact/association-bind-values-not-updated-on-save Fix that a collection proxy could be cached before the save of the owner, resulting in an invalid proxy lacking the owner’s id Conflicts: activerecord/CHANGELOG.md
| * | | Fix that a collection proxy could be cached before the save of the owner, ↵Ben Woosley2014-10-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | resulting in an invalid proxy lacking the owner’s id. Absent this fix calls like: owner.association.update_all to behave unexpectedly because they try to act on association objects where owner_id is null. more evidence here: https://gist.github.com/Empact/5865555 ``` Active Record 3.2.13 -- create_table(:firms, {:force=>true}) -> 0.1371s -- create_table(:clients, {:force=>true}) -> 0.0005s 1 clients. 1 expected. 1 clients updated. 1 expected. ``` ``` Active Record 4.0.0 -- create_table(:firms, {:force=>true}) -> 0.1606s -- create_table(:clients, {:force=>true}) -> 0.0004s 1 clients. 1 expected. 0 clients updated. 1 expected. ```
* | | | Merge pull request #17541 from OpenSourceProjects/meaninful_messageYves Senn2014-11-071-0/+4
| | | | | | | | | | | | | | | | Print out a meaningful error when ActiveRecord::ReadOnlyRecord is raised
* | | | Merge pull request #17360 from bronzle/includes_and_unscopedYves Senn2014-11-051-0/+6
|\ \ \ \ | | | | | | | | | | | | | | | copy reflection_scopes’s unscoped value when building scope for preloading
* | | | | Added SchemaDumper support for tables with jsonb columns.Ted O'Meara2014-11-041-0/+4
| | | | |