aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/view_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Add three new rubocop rulesRafael Mendonça França2016-08-161-2/+2
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* normalizes indentation and whitespace across the projectXavier Noria2016-08-061-103/+103
|
* Remove legacy mysql adapterAbdelkader Boudih2015-12-171-2/+2
|
* Deprecate `#table_exists?`, `#tables` and passing arguments to `#talbes`yui-knk2015-11-091-7/+7
| | | | | | | | | | Reported on #21509, how views is treated by `#tables` are differ by each adapters. To fix this different behavior, after Rails 5.0 is released, deprecate `#tables`. And `#table_exists?` would check both tables and views. To make their behavior consistent with `#tables`, after Rails 5.0 is released, deprecate `#table_exists?`.
* introduce `conn.data_source_exists?` and `conn.data_sources`.Yves Senn2015-09-221-0/+6
| | | | | | | | | | | | | | | | | 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)
* Do not dump a view as a table in sqlite3, mysql and mysql2 adaptersRyuta Kamizono2015-09-131-0/+13
| | | | | | Now in sqlite3, mysql and mysql2 adapters, SchemaDumper dump a view as a table. It is incorrect behavior. This change excludes a view in schema.rb.
* Add `#views` and `#view_exists?` methods on connection adaptersRyuta Kamizono2015-09-131-0/+18
|
* Add view tests for MySQLyui-knk2015-09-081-0/+66
| | | | | | | | | Basically view tests for MySQL are same with `test/cases/adapters/postgresql/view_test.rb`. So move `test/cases/adapters/postgresql/view_test.rb` to `test/cases/view_test.rb` and make them only run if `current_adapter` supports writable view.
* Resolve enums in test fixturesGeorge Claghorn2015-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Currently, values for columns backing Active Record enums must be specified as integers in test fixtures: awdr: title: "Agile Web Development with Rails" status: 2 rfr: title: "Ruby for Rails" status: <%= Book.statuses[:proposed] %> This is potentially confusing, since enum values are typically specified as symbols or strings in application code. To resolve the confusion, this change permits the use of symbols or strings to specify enum values: awdr: status: :published It is compatible with fixtures that specify enum values as integers.
* reuse view test-cases for pg materialized view tests.Yves Senn2014-09-111-9/+27
|
* 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-091-1/+0
| | | | | | | SQLite3Adapter now checks for views in table_exists? fixes: 14041 Conflicts: activerecord/CHANGELOG.md
* introduce `connection.supports_views?` and basic view tests.Yves Senn2014-09-091-0/+42
`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