aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/connection_adapters/schema_cache_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Only define attribute methods from schema cacheEugene Kenny2018-09-281-0/+16
| | | | | | | | | | | | | To define the attribute methods for a model, Active Record needs to know the schema of the underlying table, which is usually achieved by making a request to the database. This is undesirable behaviour while the app is booting, for two reasons: it makes the boot process dependent on the availability of the database, and it means every new process will make one query for each table, which can cause issues for large applications. However, if the application is using the schema cache dump feature, then the schema cache already contains the necessary information, and we can define the attribute methods without causing any extra database queries.
* Don't update counter cache when through record was not destroyedEugene Kenny2018-01-141-4/+4
| | | | | | When removing a record from a has many through association, the counter cache was being updated even if the through record halted the callback chain and prevented itself from being destroyed.
* Use frozen-string-literal in ActiveRecordKir Shatrov2017-07-191-0/+2
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-021-1/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-011-0/+1
|
* `#tables` and `#table_exists?` and returns only tables and not viewsRafael Mendonça França2016-12-291-4/+7
|
* Use YAML to serialize schema cacheKir Shatrov2016-11-271-4/+39
|
* applies new string literal convention in activerecord/testXavier Noria2016-08-061-21/+21
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* introduce `conn.data_source_exists?` and `conn.data_sources`.Yves Senn2015-09-221-3/+8
| | | | | | | | | | | | | | | | | These new methods are used from the Active Record model layer to determine which relations are viable to back a model. These new methods allow us to change `conn.tables` in the future to only return tables and no views. Same for `conn.table_exists?`. The goal is to provide the following introspection methods on the connection: * `tables` * `table_exists?` * `views` * `view_exists?` * `data_sources` (views + tables) * `data_source_exists?` (views + tables)
* Deprecate automatic counter caches on has_many :throughSean Griffin2014-06-261-2/+2
| | | | | | | | | | | 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.
* hide more data in the schema cacheAaron Patterson2013-03-141-13/+10
|
* safely publish columns and columns hash infoAaron Patterson2013-03-141-9/+9
|
* Add support schema cache dump and load.kennyj2012-03-011-0/+15
|
* Should clear the primary keys cache alsoJon Leighton2011-12-161-1/+5
|
* Don't store defaults in the schema cacheJon Leighton2011-12-161-1/+1
|
* Cache columns at the model level.Jon Leighton2011-12-161-9/+0
| | | | Allows two models to use the same table but have different primary keys.
* Fix schema_cache_test.rb for sqlite3_memJon Leighton2011-11-291-6/+0
|
* pushing caching and visitors down to the connectionAaron Patterson2011-11-191-0/+55