diff options
author | Yves Senn <yves.senn@gmail.com> | 2015-09-22 15:58:18 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2015-09-22 19:48:44 +0200 |
commit | 152b85f06c7f91b39de0e5da6426feb35a698d05 (patch) | |
tree | 323b1b7cdd5b81b406ac59542668acd7ca81cf46 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | |
parent | 1165e9c898a17fadf8f91986ba2f25fb47651d53 (diff) | |
download | rails-152b85f06c7f91b39de0e5da6426feb35a698d05.tar.gz rails-152b85f06c7f91b39de0e5da6426feb35a698d05.tar.bz2 rails-152b85f06c7f91b39de0e5da6426feb35a698d05.zip |
introduce `conn.data_source_exists?` and `conn.data_sources`.
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)
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb index feb41e96f0..79a24d1996 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -628,6 +628,7 @@ module ActiveRecord def tables(name = nil) # :nodoc: select_values("SHOW FULL TABLES", 'SCHEMA') end + alias data_sources tables def truncate(table_name, name = nil) execute "TRUNCATE TABLE #{quote_table_name(table_name)}", name @@ -644,6 +645,7 @@ module ActiveRecord select_values(sql, 'SCHEMA').any? end + alias data_source_exists? table_exists? def views # :nodoc: select_values("SHOW FULL TABLES WHERE table_type = 'VIEW'", 'SCHEMA') |