aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-03-21 11:19:14 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2011-03-21 11:20:45 -0700
commitea8fcfb729c0bca528d2e8522585cd6d0e98ebc7 (patch)
tree4128acc316c3965c13e6f18b3a45bf0888b0f3a6 /activerecord/test
parent96b9fc44000e5f40ba463ff0e893db8c4fd33b85 (diff)
downloadrails-ea8fcfb729c0bca528d2e8522585cd6d0e98ebc7.tar.gz
rails-ea8fcfb729c0bca528d2e8522585cd6d0e98ebc7.tar.bz2
rails-ea8fcfb729c0bca528d2e8522585cd6d0e98ebc7.zip
schemas set by set_table_name are respected by the mysql adapter. [#5322 state:resolved]
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/adapters/mysql/schema_test.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/mysql/schema_test.rb b/activerecord/test/cases/adapters/mysql/schema_test.rb
new file mode 100644
index 0000000000..c6c1d1dad5
--- /dev/null
+++ b/activerecord/test/cases/adapters/mysql/schema_test.rb
@@ -0,0 +1,36 @@
+require "cases/helper"
+require 'models/post'
+require 'models/comment'
+
+module ActiveRecord
+ module ConnectionAdapters
+ class MysqlSchemaTest < ActiveRecord::TestCase
+ fixtures :posts
+
+ def setup
+ @connection = ActiveRecord::Base.connection
+ db = Post.connection_pool.spec.config[:database]
+ table = Post.table_name
+ @db_name = db
+
+ @omgpost = Class.new(Post) do
+ set_table_name "#{db}.#{table}"
+ def self.name; 'Post'; end
+ end
+ end
+
+ def test_schema
+ assert @omgpost.find(:first)
+ end
+
+ def test_table_exists?
+ name = @omgpost.table_name
+ assert @connection.table_exists?(name), "#{name} table should exist"
+ end
+
+ def test_table_exists_wrong_schema
+ assert(!@connection.table_exists?("#{@db_name}.zomg"), "table should not exist")
+ end
+ end if current_adapter?(:MysqlAdapter)
+ end
+end