aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Speed up schema dumper testsJeremy Kemper2014-09-101-11/+9
| | | | | | | | | | | | | | | | | | | | Dump the standard schema once instead of redoing it per test
* | | | | Include default column limits in schema.rbJeremy Kemper2014-09-103-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows :limit defaults to be changed without pulling the rug out from under old migrations that omitted :limit because it matched the default at the time.
* | | | | MySQL: schema.rb now includes TEXT and BLOB column limits.Jeremy Kemper2014-09-103-8/+15
| | | | |
* | | | | MySQL: correct LONGTEXT and LONGBLOB limits from 2GB to their true 4GBJeremy Kemper2014-09-103-4/+8
| | | | |
* | | | | Merge pull request #16379 from JackDanger/update-preloader-documentationRafael Mendonça França2014-09-101-23/+32
|\ \ \ \ \ | | | | | | | | | | | | Updating Associations::Preloader docs
| * | | | | Updating Associations::Preloader docsJack Danger Canty2014-08-171-23/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Much of the previous documentation introduced features new in 2011. This commit refreshes it to provide clearer code examples and spends more time describing the normal case (preloaded associations) and less time describing the fallback. [ci skip]
* | | | | | Replace drop sql statement to drop_table methodYasuo Honda2014-09-113-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | to drop sequences at the same time each tables dropped for Oracle
* | | | | | Oracle does not support `IF EXISTS` for `DROP VIEW`.Yves Senn2014-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | /cc @yahonda
* | | | | | models backed by views don't assume "id" columns are the primary key.Yves Senn2014-09-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #10247. The same goes for tables with an "id" column but without primary key constraint. Reading from the view works without configuration. If you have an updateable view you need to use `self.primary_key = ''`.
* | | | | | add test-cases for primary-key-less-views. Closes #16555.Yves Senn2014-09-091-0/+43
| | | | | |
* | | | | | Merge pull request #14056 from girishso/14041Yves Senn2014-09-094-4/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQLite3Adapter now checks for views in table_exists? fixes: 14041 Conflicts: activerecord/CHANGELOG.md
| * | | | | | SQLite3Adapter now checks for views in table_exists? fixes: 14041Girish S2014-02-143-1/+17
| | | | | | |
* | | | | | | introduce `connection.supports_views?` and basic view tests.Yves Senn2014-09-096-4/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `AbstractAdapter#supports_views?` defaults to `false` so we have to turn it on in adapter subclasses. Currently the flag only controls test execution. /cc @yahonda
* | | | | | | Allow included modules to override association methods.Yves Senn2014-09-095-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #16684. This is achieved by always generating `GeneratedAssociationMethods` when `ActiveRecord::Base` is subclassed. When some of the included modules of `ActiveRecord::Base` were reordered this behavior was broken as `Core#initialize_generated_modules` was no longer called. Meaning that the module was generated on first access.
* | | | | | | Merge pull request #16827 from kuldeepaggarwal/f-disable-migration-loggingYves Senn2014-09-081-1/+4
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | disable migrations logging while running test cases for AR schema tests
| * | | | | | disable migrations logging while running test cases for AR schema testsKuldeep Aggarwal2014-09-061-0/+2
| | | | | | |
* | | | | | | Merge pull request #16825 from cristianbica/fix-ar-nested-arraysMatthew Draper2014-09-084-6/+44
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix query with nested array in Active Record
| * | | | | | | Fix query with nested array in Active RecordCristian Bica2014-09-064-6/+44
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `User.where(id: [[1,2],3])` was equal to `User.where(id:[1, 2, 3])` in Rails 4.1.x but because of some refactoring in Arel this stopped working in 4.2.0. This fixes it in Rails. [Dan Olson & Cristian Bica]
* | | | | | | Schema dumper: all connection adapters implement #primary_key, so rely on it ↵Jeremy Kemper2014-09-071-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | exclusively
* | | | | | | Fix warnings for undefined local variableTee Parham2014-09-071-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add private method primary_key_for, which more clearly shows that the expected return value is nil when a primary key is not found.
* | | | | | | Prefer "if any?" to "unless empty?"Tee Parham2014-09-071-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Consistent whitespace * Remove unnecessary parentheses
* | | | | | | Convert string concatenations to substitutionsTee Parham2014-09-071-15/+15
|/ / / / / /
* | | | | | Dynamically modified schema and association would not be correctly resetAkira Matsuda2014-09-064-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes <"SQLite3::SQLException: no such column: legacy_things.person_id: SELECT \"legacy_things\".* FROM \"legacy_things\" WHERE \"legacy_things\".\"person_id\" = ?"> in OptimisticLockingTest#test_lock_destroy
* | | | | | Merge pull request #16114 from seuros/test_cleanRafael Mendonça França2014-09-057-26/+25
|\ \ \ \ \ \ | | | | | | | | | | | | | | [Postgresql tests] Added enable_extension! to helper
| * | | | | | Added enable_extension! to helperAbdelkader Boudih2014-09-057-26/+25
| | | | | | |
* | | | | | | Remove CHANGELOG entry [ci skip]Rafael Mendonça França2014-09-051-8/+0
| | | | | | |
* | | | | | | Do not mark object as persisted after an association is savedRafael Mendonça França2014-09-053-21/+14
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Callback order in Active Record objects are important. Users should not define callbacks before the association definition or surprising behaviours like the described at #3798 will happen. This callback order dependency is documented at https://github.com/rails/rails/blob/31bfcdc77ca0d8cec9b5fe513bdc6f05814dd4f1/activerecord/lib/active_record/associations.rb#L1222-1227. This reverts #15728. Fixes #16620.
* | | | | | For now, we will keep sorting the tests.Matthew Draper2014-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commits e969c928463e329fd6529ac59cad96385c538ffb and bd2b3fbe54e750ba97469a7896e8d143d6dfd465.
* | | | | | Freeze ADAPTER_NAME in adaptersAbdelkader Boudih2014-09-056-17/+6
| | | | | |
* | | | | | Fixed regression with referencing polymorphic assoc in eager-loadGodfrey Chan2014-09-053-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is cased by 03118bc + 9b5d603. The first commit referenced the undefined local variable `column` when it should be using `reflection.type` as the lookup key. The second commit changed `build_arel` to not modify the `bind_values` in- place so we need to combine the arel's `bind_values` with the relation's when building the SQL. Fixes #16591 Related #15821 / #15892 / 7aeca50
* | | | | | cover all cases of `For not` --> `Do not`, related to #16804Akshay Vishnoi2014-09-051-1/+1
| | | | | |
* | | | | | Load :developers fixtures where expecting a Developer to be thereAkira Matsuda2014-09-051-1/+1
| | | | | |
* | | | | | Merge pull request #16788 from codeodor/fix-16761Aaron Patterson2014-09-046-3/+34
|\ \ \ \ \ \ | | | | | | | | | | | | | | Skip StatementCache for eager loaded associations
| * | | | | | Skip StatementCache for eager loaded associations (Fixes #16761)Sammy Larbi2014-09-046-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eagerly loaded collection and singular associations are ignored by the StatementCache, which causes errors when the queries they generate reference columns that were not eagerly loaded. This commit skips the creation of the StatementCache as a fix for these scenarios.
* | | | | | | always reorder bind parameters. fixes #15920Aaron Patterson2014-09-042-7/+12
|/ / / / / /
* | | | | | Merge pull request #16801 from ↵Rafael Mendonça França2014-09-042-7/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | eileencodes/refactor-scope_chain-on-through-refelction-to-eliminate-branch-in-eval_scope Always add lambda to scope chain to eliminate branch in eval_scope
| * | | | | | Always add lambda to scope chain to eliminate branch in eval_scopeeileencodes2014-09-042-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We convert all other scopes to lambda's so it makes sense that we should always returns a lambda on a ThroughReflection as well. This eliminates the need to check if the scope is a Relation.
* | | | | | | Follup to PR #16762eileencodes2014-09-041-4/+4
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove chain from parameters, it's no longer needed since chain and i are being passed via next_reflection Change name of `reflection` to `owner_reflection` because of shadow variable warning. The last reflection will always be the owner.
* | | | | | Enums shouldn't ruin people's anniversariesGodfrey Chan2014-09-043-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a few more methods on Module/Class to the dangerous class methods blacklist. (Technically, allocate and new are already protected currently because we happen to redefine them in the current implantation.) Closes #16792
* | | | | | get rid of shadowing warning when running tests AR and railtie tests.Yves Senn2014-09-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Warning looked like this: ``` /Users/senny/Projects/rails/activerecord/lib/active_record/associations/association_scope.rb:142: warning: shadowing outer local variable - reflection ```
* | | | | | extract updating all fixture cache to a method so we can lock laterAaron Patterson2014-09-031-1/+5
| | | | | |
* | | | | | schema loading rake tasks maintain database connection for current env.Yves Senn2014-09-033-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Joshua Cody & Yves Senn] Closes #16757. Prior to this patch schema loading rake tasks had the potential to leak a connection to a different database. This had side-effects when rake tasks operating on the current connection (like `db:seed`) were chained.
* | | | | | Merge pull request #16781 from kamipo/move_column_option_handlingYves Senn2014-09-032-6/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Move column option handling to new_column_definition
| * | | | | | Move column option handling to new_column_definitionRyuta Kamizono2014-09-032-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TableDefinition#column is not called from `add_column`. Use TableDefinition#new_column_definition for column option handling.
* | | | | | | Reset ActiveRecord::SchemaDumper.ignore_tables value after changed in testsAkira Matsuda2014-09-032-26/+21
| | | | | | |
* | | | | | | Remove 'if exists' from drop table statement then use `table_exists?`Yasuo Honda2014-09-034-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 'drop table if exists' statement does not always work with some databases such as Oracle.
* | | | | | | Merge pull request #16762 from ↵Aaron Patterson2014-09-021-35/+52
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eileencodes/refactor-add_constraints-complex-loop-conditional Refactor add_constraints complex loop conditional
| * | | | | | | Break conditional branches into separate methodseileencodes2014-09-011-35/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This breaks the two branches of the `if reflection.last` and `else` to clearer see where the two methods can be refactored. Eventually we hope to remove the need for these separated methods altogether. Move the first branch outside the loop This code doesn't need to be in the loop because it it always affects the last chain. `get_bind_values` and `add_constraints` must match in this context because `get_bind_values` is the caching of `add_constraints` Use each_cons to remove need for `chain[i + 1]` The `chain[i + 1]` is confusing because it's not immediately obvious what it's trying to achieve. The use of `each_cons` makes it clear we need to get the `next_reflection`.
* | | | | | | | Add and Remove string/strip requireArthur Neves2014-09-023-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Method .strip_heredoc is defined in active_support/core_ext/string/strip.rb so we need to require it. [fixes #16677]
* | | | | | | | Leave all our tests as order_dependent! for nowMatthew Draper2014-09-021-0/+5
| |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're seeing too many failures to believe otherwise. This reverts commits bc116a55ca3dd9f63a1f1ca7ade3623885adcc57, cbde413df3839e06dd14e3c220e9800af91e83ab, bf0a67931dd8e58f6f878b9510ae818ae1f29a3a, and 2440933fe2c27b27bcafcd9019717800db2641aa.