aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* Save index order :desc to schema.rb (sqlite). Fixes #30902Paul Kuruvilla2017-10-241-2/+9
| | | | | Although the sqlite adapter supports index sort orders, they weren't being written to db/schema.rb.
* Ensure associations doesn't table name collide with aliased joinsRyuta Kamizono2017-10-241-1/+1
| | | | | | Currently alias tracker only refer a table name, doesn't respect an alias name. Should use `join.left.name` rather than `join.left.table_name`.
* Remove `supports_disable_referential_integrity?`Yasuo Honda2017-10-231-25/+17
| | | | | | | | | | | | | | | | `supports_disable_referential_integrity?` used to handle if PostgreSQL database supports `ALTER TABLE <table name> DISABLE/ENABLE TRIGGER` statements. Refer https://github.com/rails/rails/commit/9a947af0e79cfb8692eb7e5ae94c1b8c40756f49 These statements have been documented since 8.1. https://www.postgresql.org/docs/8.1/static/sql-altertable.html > DISABLE/ENABLE TRIGGER Now Rails supports PostgreSQL 9.1 or higher only. No need to handle `supports_disable_referential_integrity?` anymore. Also, this method does not exist in any other adapters including AbstractAdapter.
* Remove text about deprecation that was already removedRafael Mendonça França2017-10-231-2/+1
|
* Remove deprecated `:if` and `:unless` string filter for callbacksRafael Mendonça França2017-10-232-3/+3
|
* Remove deprecated method `#sanitize_conditions`Rafael Mendonça França2017-10-231-2/+0
|
* Remove deprecated methd `#scope_chain`Rafael Mendonça França2017-10-231-6/+0
|
* Remove deprecated configuration `.error_on_ignored_order_or_limit`Rafael Mendonça França2017-10-231-20/+0
|
* Remove deprecated arguments from `#verify!`Rafael Mendonça França2017-10-231-4/+1
|
* Remove deprecated argument `name` from `#indexes`Rafael Mendonça França2017-10-234-24/+4
|
* Remove deprecated method `ActiveRecord::Migrator.schema_migrations_table_name`Rafael Mendonça França2017-10-231-5/+0
|
* Remove deprecated method `supports_primary_key?`Rafael Mendonça França2017-10-231-5/+0
|
* Remove deprecated method `supports_migrations?`Rafael Mendonça França2017-10-231-5/+0
|
* Remove deprecated methods `initialize_schema_migrations_table` and ↵Rafael Mendonça França2017-10-231-10/+0
| | | | `initialize_internal_metadata_table`
* Rase when calling `lock!` in a dirty recordRafael Mendonça França2017-10-231-4/+5
|
* Remove deprecated support to passing a class to `:class_name` on associationsRafael Mendonça França2017-10-232-10/+3
|
* Remove deprecated argument `default` from `index_name_exists?`Rafael Mendonça França2017-10-232-12/+2
|
* Remove deprecated support to `quoted_id` when typecasting an Active Record ↵Rafael Mendonça França2017-10-232-22/+0
| | | | object
* Fix duplicate aliases when using both INNER/LEFT JOINsRyuta Kamizono2017-10-231-3/+4
| | | | | | | | It should be shared the count of alias tracking in both INNER/LEFT JOINs to avoid duplicate aliases. Fixes #30504. Closes #30410.
* Ensure associations doesn't table name collide with string joinsRyuta Kamizono2017-10-231-4/+6
| | | | | Currently we have no test for alias tracking with string joins. I've add test case for that to catch a future regression.
* [Active Record] require => require_relativeAkira Matsuda2017-10-2134-132/+132
| | | | This basically reverts 9d4f79d3d394edb74fa2192e5d9ad7b09ce50c6d
* Convert ignored_columns to a list of stringAltech2017-10-201-15/+17
|
* Merge pull request #30579 from ↵Sean Griffin2017-10-182-12/+13
|\ | | | | | | | | bogdanvlviv/fix_ar_internal_metadata_for_a_test_database Fix `bin/rails db:setup` and `bin/rails db:test:prepare` create wrong ar_internal_metadata's data for a test database.
| * `ActiveRecord::Tasks::DatabaseTasks.load_schema` has always to establish ↵bogdanvlviv2017-10-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | database connection When load schema from `structure.sql`, database connection isn't established. `ActiveRecord::Tasks::DatabaseTasks.load_schema` has to establish database connection since it executes ``` ActiveRecord::InternalMetadata.create_table ActiveRecord::InternalMetadata[:environment] = environment ```
| * Fix `bin/rails db:setup` and `bin/rails db:test:prepare` create wrong ↵bogdanvlviv2017-10-152-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ar_internal_metadata's data for a test database. Before: ``` $ RAILS_ENV=test rails dbconsole > SELECT * FROM ar_internal_metadata; key|value|created_at|updated_at environment|development|2017-09-11 23:14:10.815679|2017-09-11 23:14:10.815679 ``` After: ``` $ RAILS_ENV=test rails dbconsole > SELECT * FROM ar_internal_metadata; key|value|created_at|updated_at environment|test|2017-09-11 23:14:10.815679|2017-09-11 23:14:10.815679 ``` Fixes #26731.
* | compatibility - use int instead of bigintpavel2017-10-181-1/+1
| |
* | Remove association(true) references from docs [ci skip]Eugene Kenny2017-10-162-5/+1
|/ | | | | Passing `true` to force an association to reload its records from the database was deprecated in 5.0 and removed in 5.1.
* Fix longer sequence name detection for serial columns (#28339)Ryuta Kamizono2017-10-154-4/+26
| | | | | | | | We already found the longer sequence name, but we could not consider whether it was the sequence name created by serial type due to missed a max identifier length limitation. I've addressed the sequence name consideration to respect the max identifier length. Fixes #28332.
* MySQL: Don't lose `auto_increment: true` in the `db/schema.rb`Ryuta Kamizono2017-10-151-0/+7
| | | | | | | | | | Currently `AUTO_INCREMENT` is implicitly used in the default primary key definition. But `AUTO_INCREMENT` is not only used for single column primary key, but also for composite primary key. In that case, `auto_increment: true` should be dumped explicitly in the `db/schema.rb`. Fixes #30894.
* Fix `COUNT(DISTINCT ...)` for `GROUP BY` with `ORDER BY` and `LIMIT`Ryuta Kamizono2017-10-141-1/+1
| | | | | | | | | | This is the fix for the regression of #29848. In #29848, I've kept existing select list in the subquery for the count if ORDER BY is given. But it had accidentally affect to GROUP BY queries also. It should keep the previous behavior in that case. Fixes #30886.
* Fix some typos.Mike Boone2017-10-101-2/+2
|
* Merge pull request #30836 from ↵Matthew Draper2017-10-101-2/+4
|\ | | | | | | | | shioyama/generated_attribute_methods_include_mutex Include Mutex_m into GeneratedAttributeMethods instead of extending instance
| * Include Mutex_m into module class instead of extending instanceChris Salzberg2017-10-081-2/+4
| |
* | Merge pull request #30798 from ↵Sean Griffin2017-10-091-1/+1
|\ \ | | | | | | | | | | | | bogdanvlviv/express-change_column_comment-as-public-api Express #change_column_comment as public api
| * | Express #change_column_comment as public apibogdanvlviv2017-10-041-1/+1
| | | | | | | | | | | | | | | Implemented by #22911 Related to #30677
* | | Joined tables in association scope doesn't use the same aliases with the ↵Ryuta Kamizono2017-10-095-25/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | parent relation's aliases Building association scope in join dependency should respect the parent relation's aliases to avoid using the same alias name more than once. Fixes #30681.
* | | Remove meaningless named `construct_relation_for_association_calculations`Ryuta Kamizono2017-10-092-6/+3
| | | | | | | | | | | | | | | I don't think this is a good abstraction because the internal method is used only if the relation need to be applied join dependency.
* | | Fix `relation.exists?` with has_many through associationsRyuta Kamizono2017-10-091-4/+4
| | | | | | | | | | | | | | | `relation.exists?` should reference correct aliases while joining tables of has_many through associations.
* | | Fix typo in loading error messageyuuji.yaginuma2017-10-091-1/+1
| | | | | | | | | | | | s/Action Record/Active Record/
* | | Merge pull request #30757 from jeremy/optional-dependency-hellscapeJeremy Daer2017-10-081-3/+15
|\ \ \ | | | | | | | | Adapters bubble up gem version mismatches for their dependencies
| * | | Distinguish missing adapter gems from load errors within the adapterJeremy Daer2017-10-081-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * When the adapter is missing, raise an exception that points out config typos and missing Gemfile entries. (We can assume that a non-builtin adapter was used since these are always available.) * When loading an adapter raises a LoadError, prefix its error message to indicate that the adapter is likely missing an optional dependency.
* | | | Remove passing redundant `self` to internal `apply_join_dependency` etcRyuta Kamizono2017-10-091-13/+12
|/ / /
* | / Decouple building `AliasTracker` from `JoinDependency`Ryuta Kamizono2017-10-087-17/+16
| |/ |/| | | | | | | This is preparation to respect parent relation's alias tracking for fixing #30681.
* | Merge pull request #30809 from meganemura/use-calleeRafael França2017-10-051-1/+1
|\ \ | | | | | | Use __callee__ to pass alias instead of original method name
| * | Use __callee__ to pass alias instead of original method namemeganemura2017-10-051-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before ``` > Article.left_joins ArgumentError: The method .left_outer_joins() must contain arguments. ``` After ``` > Article.left_joins ArgumentError: The method .left_joins() must contain arguments. ```
* | Move duplicated code to `delete_or_destroy` in `CollectionAssociation`Ryuta Kamizono2017-10-061-4/+2
| |
* | Add JSON attribute test cases for SQLite3 adapterRyuta Kamizono2017-10-052-1/+2
| |
* | Extract repeatedly appeared prepending compatible table definitionRyuta Kamizono2017-10-051-25/+24
|/
* Prefer official name PostgreSQL over PostgresRyuta Kamizono2017-10-041-2/+2
|
* Ensure `AliasTracker` respects a custom table nameRyuta Kamizono2017-09-302-2/+2
|