Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Do not change the global state of the test suite | Rafael Mendonça França | 2014-06-27 | 2 | -18/+2 |
| | |||||
* | Improve tests to use add_foreign_key DSL | Rafael Mendonça França | 2014-06-27 | 1 | -18/+11 |
| | |||||
* | MySQL doesn't works with foreign key | Rafael Mendonça França | 2014-06-27 | 1 | -3/+2 |
| | |||||
* | Merge pull request #12450 from iantropov/master | Rafael Mendonça França | 2014-06-27 | 5 | -5/+59 |
|\ | | | | | | | | | | | | | | | | | Fix bug, when ':dependent => :destroy' violates foreign key constraints Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/associations/builder/association.rb activerecord/lib/active_record/associations/builder/has_one.rb | ||||
| * | Fix bug, when ':dependent => :destroy' option violates foreign key ↵ | Ivan Antropov | 2013-10-26 | 5 | -9/+61 |
| | | | | | | | | constraints, issue #12380 | ||||
* | | Merge pull request #15788 from sgrif/sg-mutable-strings | Rafael Mendonça França | 2014-06-27 | 5 | -13/+77 |
|\ \ | | | | | | | | | | Detect in-place modifications on Strings | ||||
| * | | Detect in-place modifications on Strings | Sean Griffin | 2014-06-17 | 4 | -13/+55 |
| | | | |||||
* | | | Merge pull request #8639 from bogdan/valid-with-bang | Rafael Mendonça França | 2014-06-27 | 3 | -1/+36 |
|\ \ \ | | | | | | | | | | | | | Add AR::Base#valid! method | ||||
| * | | | Add AR::Base#validate! method | Bogdan Gusiev | 2014-06-23 | 2 | -1/+31 |
| | | | | | | | | | | | | | | | | | | | | Acts same as valid? but raises AR::RecordInvalid exception if validation fails | ||||
* | | | | Merge pull request #15940 from DNNX/databases-rake-refactoring | Rafael Mendonça França | 2014-06-27 | 3 | -31/+37 |
|\ \ \ \ | | | | | | | | | | | databases.rake refactoring | ||||
| * | | | | Use AR::SchemaMigration.table_exists? call instead of longish AR::Base...etc,etc | Viktar Basharymau | 2014-06-27 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | Extract AR::SchemaMigration.normalized_versions method | Viktar Basharymau | 2014-06-27 | 2 | -2/+5 |
| | | | | | |||||
| * | | | | db:migrate:status refactoring: Rewrite hand-crafted SQL query with ↵ | Viktar Basharymau | 2014-06-27 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | ActiveRecord#pluck | ||||
| * | | | | Use Array#flat_map and Array#grep in db:migrate:status task | Viktar Basharymau | 2014-06-27 | 1 | -10/+10 |
| | | | | | | | | | | | | | | | | | | | | It allows the code to be more declarative and elegant. | ||||
| * | | | | Add explaining variables to db:migrate:status | Viktar Basharymau | 2014-06-27 | 1 | -2/+2 |
| | | | | | |||||
| * | | | | Replace String index juggling with Pathname goodness in db:fixtures:load | Viktar Basharymau | 2014-06-27 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | db:fixtures:load refactoring: remove unnecessary loop | Viktar Basharymau | 2014-06-27 | 1 | -3/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | `ActiveRecord::FixtureSet.create_fixtures` can accept an array of fixture_files. | ||||
| * | | | | Extract `fixture_files` variable in fixtures:load rake task | Viktar Basharymau | 2014-06-27 | 1 | -1/+7 |
| | | | | | |||||
| * | | | | Replace a bit of cryptic code in fixtures:load rake task with plain stupid Ruby | Viktar Basharymau | 2014-06-27 | 1 | -1/+5 |
| | | | | | |||||
| * | | | | Get rid of duplication in db:fixtures:{identify,load} | Viktar Basharymau | 2014-06-27 | 2 | -12/+7 |
| | | | | | |||||
| * | | | | db:fixtures:{identify,load} tasks respect AR::Tasks::DatabaseTasks.root | Viktar Basharymau | 2014-06-27 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, if `ENV['FIXTURES_PATH']` was set, then `Rails.root` was used, otherwise the app used `ActiveRecord::Tasks::DatabaseTasks.root`. Now it is consistent. | ||||
| * | | | | Simplify complex code in databases.rake | Viktar Basharymau | 2014-06-27 | 1 | -2/+2 |
| | | | | | |||||
* | | | | | Stop using instance exec for type decorators | Sean Griffin & Sean Doyle | 2014-06-27 | 3 | -17/+38 |
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are moving this behavior out to an object that we would like to keep separated from `ActiveRecord::Base`, which means not passing the class object to it. As such, we need to stop using `instance_exec`, and instead close over the subclass on global type decorators that are applied in `Base`. | ||||
* | | | | credit Matthew Higgins for the integration of foreign keys. [ci skip] | Yves Senn | 2014-06-27 | 1 | -0/+3 |
| | | | | |||||
* | | | | Change method visibility | Rafael Mendonça França | 2014-06-26 | 1 | -2/+2 |
| | | | | |||||
* | | | | Add nodoc to internal class [ci skip] | Rafael Mendonça França | 2014-06-26 | 1 | -1/+1 |
| | | | | |||||
* | | | | fk: add docs | Yves Senn | 2014-06-26 | 2 | -0/+70 |
| | | | | |||||
* | | | | fk: review corrections: indent, visibility, syntax, wording. | Yves Senn | 2014-06-26 | 5 | -52/+53 |
| | | | | |||||
* | | | | fk: use random digest names | Yves Senn | 2014-06-26 | 8 | -33/+59 |
| | | | | | | | | | | | | | | | | | | | | | | | | The name of the foreign key is not relevant from a users perspective. Using random names resolves the urge to rename the foreign key when the respective table or column is renamed. | ||||
* | | | | fk: raise for invalid :on_update / :on_delete values | Yves Senn | 2014-06-26 | 2 | -3/+18 |
| | | | | |||||
* | | | | fk: `add/remove_foreign_key` are noop for adapters that don't support fk | Yves Senn | 2014-06-26 | 2 | -0/+28 |
| | | | | |||||
* | | | | fk: dump foreign keys at the bottom to make sure tables exist. | Yves Senn | 2014-06-26 | 2 | -6/+16 |
| | | | | |||||
* | | | | fk: raise when identifiers are longer than `allowed_index_name_length`. | Yves Senn | 2014-06-26 | 2 | -1/+14 |
| | | | | |||||
* | | | | fk: support for on_update | Yves Senn | 2014-06-26 | 7 | -19/+46 |
| | | | | |||||
* | | | | fk: rename `dependent` to `on_delete` | Yves Senn | 2014-06-26 | 7 | -27/+26 |
| | | | | |||||
* | | | | fk: infere column name from table names. | Yves Senn | 2014-06-26 | 4 | -7/+46 |
| | | | | | | | | | | | | | | | | This allows to create and remove foreign keys without specifying a column. | ||||
* | | | | fk: make `add_foreign_key` reversible. | Yves Senn | 2014-06-26 | 3 | -1/+55 |
| | | | | |||||
* | | | | fk: support dependent option (:delete, :nullify and :restrict). | Yves Senn | 2014-06-26 | 7 | -4/+83 |
| | | | | |||||
* | | | | fk: dump foreign keys to schema.rb | Yves Senn | 2014-06-26 | 4 | -2/+43 |
| | | | | | | | | | | | | | | | | respect `table_name_prefix` and `table_name_suffix`. | ||||
* | | | | fk: `:primary_key` option for non-standard pk's. | Yves Senn | 2014-06-26 | 3 | -3/+25 |
| | | | | |||||
* | | | | fk: generalize using `AlterTable` and `SchemaCreation`. | Yves Senn | 2014-06-26 | 6 | -49/+64 |
| | | | | |||||
* | | | | fk: `foreign_keys`, `add_foreign_key` and `remove_foreign_key` for MySQL | Yves Senn | 2014-06-26 | 6 | -21/+70 |
| | | | | |||||
* | | | | fk: add `foreign_keys` for PostgreSQL adapter. | Yves Senn | 2014-06-26 | 3 | -7/+65 |
| | | | | |||||
* | | | | fk: `add_foreign_key` and `remove_foreign_key` for PostgreSQL adapter. | Yves Senn | 2014-06-26 | 4 | -0/+85 |
| | | | | |||||
* | | | | Merge pull request #15924 from sgrif/sg-write-unknown-column | Rafael Mendonça França | 2014-06-26 | 9 | -13/+34 |
|\ \ \ \ | | | | | | | | | | | Move writing unknown column exception to null attribute | ||||
| * | | | | Move writing unknown column exception to null attribute | Sean Griffin | 2014-06-26 | 9 | -13/+34 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Making this change revealed several subtle bugs related to models with no primary key, and anonymous classes. These have been fixed as well, with regression tests added. | ||||
* | | | | | Merge pull request #15916 from sgrif/sg-test-update-all | Rafael Mendonça França | 2014-06-26 | 4 | -30/+28 |
|\ \ \ \ \ | |/ / / / |/| | | | | Consolidate testing of update_all type casting | ||||
| * | | | | Consolidate testing of update_all type casting | Sean Griffin | 2014-06-26 | 4 | -30/+28 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have several test cases on "tricky" types that are essentially testing that `update_all` goes through the same type casting behavior as a normal assignment + save. We recently had another case to add this test for another type in https://github.com/rails/rails/pull/12742. Rather than testing this separately for every type which is "tricky" when round tripping, let's instead have a fairly exhaustive test that ensures we're getting the correct values at every step for `update_all`. Given the structure of the code now, we can be confident that if the type is correct, and `update_all` is type casting correctly, we're going to get the right behavior for all types. | ||||
* | | | | | Deprecate automatic counter caches on has_many :through | Sean Griffin | 2014-06-26 | 15 | -36/+87 |
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reliant on https://github.com/rails/rails/pull/15747 but pulled to a separate PR to reduce noise. `has_many :through` associations have the undocumented behavior of automatically detecting counter caches. However, the way in which it does so is inconsistent with counter caches everywhere else, and doesn't actually work consistently. As with normal `has_many` associations, the user should specify the counter cache on the `belongs_to`, if they'd like it updated. | ||||
* | | | | `Attribute` should know about its name | Sean Griffin | 2014-06-26 | 5 | -44/+64 |
| | | | | | | | | | | | | | | | | | | | | This allows using polymorphism for the uninitialized attributes raising an exception behavior. |