Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | 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 | 1 | -0/+58 |
| | |||||
* | 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 | 4 | -13/+36 |
| | | | | | | 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 | 1 | -3/+8 |
| | |||||
* | fk: `add/remove_foreign_key` are noop for adapters that don't support fk | Yves Senn | 2014-06-26 | 1 | -0/+4 |
| | |||||
* | fk: dump foreign keys at the bottom to make sure tables exist. | Yves Senn | 2014-06-26 | 1 | -6/+9 |
| | |||||
* | fk: raise when identifiers are longer than `allowed_index_name_length`. | Yves Senn | 2014-06-26 | 1 | -1/+5 |
| | |||||
* | fk: support for on_update | Yves Senn | 2014-06-26 | 6 | -16/+33 |
| | |||||
* | fk: rename `dependent` to `on_delete` | Yves Senn | 2014-06-26 | 6 | -14/+13 |
| | |||||
* | fk: infere column name from table names. | Yves Senn | 2014-06-26 | 2 | -5/+17 |
| | | | | This allows to create and remove foreign keys without specifying a column. | ||||
* | fk: make `add_foreign_key` reversible. | Yves Senn | 2014-06-26 | 1 | -1/+16 |
| | |||||
* | fk: support dependent option (:delete, :nullify and :restrict). | Yves Senn | 2014-06-26 | 6 | -4/+41 |
| | |||||
* | fk: dump foreign keys to schema.rb | Yves Senn | 2014-06-26 | 2 | -1/+25 |
| | | | | respect `table_name_prefix` and `table_name_suffix`. | ||||
* | fk: `:primary_key` option for non-standard pk's. | Yves Senn | 2014-06-26 | 1 | -1/+3 |
| | |||||
* | fk: generalize using `AlterTable` and `SchemaCreation`. | Yves Senn | 2014-06-26 | 5 | -47/+60 |
| | |||||
* | fk: `foreign_keys`, `add_foreign_key` and `remove_foreign_key` for MySQL | Yves Senn | 2014-06-26 | 5 | -21/+65 |
| | |||||
* | fk: add `foreign_keys` for PostgreSQL adapter. | Yves Senn | 2014-06-26 | 2 | -0/+38 |
| | |||||
* | fk: `add_foreign_key` and `remove_foreign_key` for PostgreSQL adapter. | Yves Senn | 2014-06-26 | 3 | -0/+36 |
| | |||||
* | Move writing unknown column exception to null attribute | Sean Griffin | 2014-06-26 | 5 | -11/+9 |
| | | | | | | 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. | ||||
* | Deprecate automatic counter caches on has_many :through | Sean Griffin | 2014-06-26 | 2 | -1/+23 |
| | | | | | | | | | | | 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 | 3 | -32/+36 |
| | | | | | This allows using polymorphism for the uninitialized attributes raising an exception behavior. | ||||
* | Encapsulate the creation of `Attribute` objects | Sean Griffin | 2014-06-26 | 5 | -18/+31 |
| | | | | | | | | This will make it less painful to add additional properties, which should persist across writes, such as `name`. Conflicts: activerecord/lib/active_record/attribute_set.rb | ||||
* | Merge pull request #15868 from sgrif/sg-uninitialized-attributes | Rafael Mendonça França | 2014-06-26 | 4 | -27/+87 |
|\ | | | | | | | | | | | | | | | Move behavior of `read_attribute` to `AttributeSet` Conflicts: activerecord/lib/active_record/attribute_set.rb activerecord/test/cases/attribute_set_test.rb | ||||
| * | Move behavior of `read_attribute` to `AttributeSet` | Sean Griffin | 2014-06-25 | 4 | -27/+87 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moved `Builder` to its own file, as it started looking very weird once I added private methods to the `AttributeSet` class and the `Builder` class started to grow. Would like to refactor `fetch_value` to change to ```ruby self[name].value(&block) ``` But that requires the attributes to know about their name, which they currently do not. | ||||
* | | Merge pull request #15847 from sgrif/sg-encapsulate-result-types | Rafael Mendonça França | 2014-06-26 | 4 | -24/+19 |
|\ \ | | | | | | | Encapsulate knowledge of type objects on `ActiveRecord::Result` | ||||
| * | | Encapsulate knowledge of type objects on `ActiveRecord::Result` | Sean Griffin | 2014-06-22 | 4 | -24/+19 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attempting to reduce the number of places that care about the details of how type casting occurs. We remove the type casting of the primary key in `JoinDependecy`, rather than encapsulating it. It was originally added for consistency with https://github.com/rails/rails/commit/40898c8c19fa04442fc5f8fb5daf3a8bdb9a1e03#diff-06059df8d3dee3101718fb2c01151ad0R211, but that conditional was later removed in https://github.com/rails/rails/commit/d7ddaa530fd1b94e22d745cbaf2e8a5a34ee9734. What is important is that the same row twice will have the same value for the primary key, which it will. | ||||
* | | | Merge pull request #15846 from sgrif/sg-attributes-before-type-cast | Rafael Mendonça França | 2014-06-26 | 2 | -2/+6 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move `attributes_before_type_cast` to `AttributeSet` Conflicts: activerecord/lib/active_record/attribute_set.rb activerecord/test/cases/attribute_set_test.rb | ||||
| * | | | Move `attributes_before_type_cast` to `AttributeSet` | Sean Griffin | 2014-06-21 | 2 | -2/+6 |
| | | | | |||||
* | | | | `preload` preserves readonly flag on associations. #15853 | Yves Senn | 2014-06-25 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | This is a partial fix for #15853. It only works when a `preload` is issued and not an `eager_load`. I've added a skipped failing test-case to keep in mind that we need to deal with `eager_load`. | ||||
* | | | | Doc pass for `Type::Value` [ci skip] | Sean Griffin | 2014-06-24 | 2 | -23/+43 |
| | | | | |||||
* | | | | Merge pull request #15895 from sgrif/sg-numeric-changes | Yves Senn | 2014-06-24 | 1 | -3/+3 |
|\ \ \ \ | | | | | | | | | | | Always assume strings with non-numeric characters change numeric types | ||||
| * | | | | Always assume strings with non-numeric characters change numeric types | Sean Griffin | 2014-06-24 | 1 | -3/+3 |
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | We previously only did this if the old value was zero, to make sure numericality validations run and failed if the user gave 'wibble' as the value, which would be type cast to 0. However, numericality validations will fail if there are any non-numeric characters in the string, so 5 -> '5wibble' should also be marked as changed. | ||||
* / | | | Silence warning in test | Sean Griffin | 2014-06-24 | 2 | -7/+7 |
|/ / / | | | | | | | | | | | | | We still had one file using `column_for_attribute` when it could return nil, causing deprecation warnings in the tests. | ||||
* | | | add missing `:nodoc:` to `store.rb`. [ci skip] | Yves Senn | 2014-06-24 | 1 | -4/+4 |
| | | | |||||
* | | | add missing `:nodoc:` for recent refactorings. [ci skip] | Yves Senn | 2014-06-24 | 31 | -36/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding `# :nodoc:` to the parent `class` / `module` is not going to ignore nested classes or modules. There is a modifier `# :nodoc: all` but sadly the containing class or module will continue to be in the docs. /cc @sgrif | ||||
* | | | Merge pull request #15881 from mmozuras/remove_unused_params | Rafael Mendonça França | 2014-06-23 | 2 | -5/+5 |
|\ \ \ | | | | | | | | | Remove unused params |