diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-03-22 09:34:33 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-03-22 09:34:33 -0700 |
commit | 2ef6270f8fbbefba8d4f10504497e198d8e7deea (patch) | |
tree | a90b640a9e59306e92fc4bcc2ab58d08b0341e23 /activerecord/lib/active_record/connection_adapters/mysql_adapter.rb | |
parent | 6ab65bec611247bbd1dd62da0ee8c4dc44b37ec1 (diff) | |
parent | 2ddfdba9a0dab7d8499c3ad0d13583bddbac4f69 (diff) | |
download | rails-2ef6270f8fbbefba8d4f10504497e198d8e7deea.tar.gz rails-2ef6270f8fbbefba8d4f10504497e198d8e7deea.tar.bz2 rails-2ef6270f8fbbefba8d4f10504497e198d8e7deea.zip |
Merge branch 'master' into fuuu
* master:
Do not show optional (.:format) block for wildcard route [#6605 state:resolved]
pushing id insertion and prefetch primary keys down to Relation#insert
use prepared statements to fetch the last insert id
escaping binary data encoding when inserting to sqlite3. Thanks Naruse! [#6559 state:resolved]
schemas set by set_table_name are respected by the mysql adapter. [#5322 state:resolved]
Reapply extensions when using except and only
SJIS is an alias to Windows-31J in ruby trunk. Use SHIFT_JIS for this test
Improved resolver docs a bit
[action_view] docs for FileSystemResolver
[action_view] added custom patterns to template resolver
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/mysql_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/mysql_adapter.rb | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb index 368c5b2023..e1186209d3 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb @@ -504,14 +504,28 @@ module ActiveRecord show_variable 'collation_database' end - def tables(name = nil) #:nodoc: + def tables(name = nil, database = nil) #:nodoc: tables = [] - result = execute("SHOW TABLES", name) + result = execute(["SHOW TABLES", database].compact.join(' IN '), name) result.each { |field| tables << field[0] } result.free tables end + def table_exists?(name) + return true if super + + name = name.to_s + schema, table = name.split('.', 2) + + unless table # A table was provided without a schema + table = schema + schema = nil + end + + tables(nil, schema).include? table + end + def drop_table(table_name, options = {}) super(table_name, options) end |