aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2015-09-22 15:58:18 +0200
committerYves Senn <yves.senn@gmail.com>2015-09-22 19:48:44 +0200
commit152b85f06c7f91b39de0e5da6426feb35a698d05 (patch)
tree323b1b7cdd5b81b406ac59542668acd7ca81cf46 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent1165e9c898a17fadf8f91986ba2f25fb47651d53 (diff)
downloadrails-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.rb2
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')