aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/view_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2015-09-13 20:40:25 +0900
committerRyuta Kamizono <kamipo@gmail.com>2015-09-13 21:02:52 +0900
commitad4654f2751217ec93a4fad1ef5454ab1255e833 (patch)
treefcfa56a38ed141e07a431c4b9eb31a2c79d7a690 /activerecord/test/cases/view_test.rb
parentdcd39949f8801cb4beddec37143a585259f09a2d (diff)
downloadrails-ad4654f2751217ec93a4fad1ef5454ab1255e833.tar.gz
rails-ad4654f2751217ec93a4fad1ef5454ab1255e833.tar.bz2
rails-ad4654f2751217ec93a4fad1ef5454ab1255e833.zip
Do not dump a view as a table in sqlite3, mysql and mysql2 adapters
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.
Diffstat (limited to 'activerecord/test/cases/view_test.rb')
-rw-r--r--activerecord/test/cases/view_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/view_test.rb b/activerecord/test/cases/view_test.rb
index 43785874b0..d7b3e223ed 100644
--- a/activerecord/test/cases/view_test.rb
+++ b/activerecord/test/cases/view_test.rb
@@ -1,7 +1,9 @@
require "cases/helper"
require "models/book"
+require "support/schema_dumping_helper"
module ViewBehavior
+ include SchemaDumpingHelper
extend ActiveSupport::Concern
included do
@@ -62,6 +64,11 @@ module ViewBehavior
end
assert_nil model.primary_key
end
+
+ def test_does_not_dump_view_as_table
+ schema = dump_table_schema "ebooks"
+ assert_no_match %r{create_table "ebooks"}, schema
+ end
end
if ActiveRecord::Base.connection.supports_views?
@@ -79,6 +86,7 @@ class ViewWithPrimaryKeyTest < ActiveRecord::TestCase
end
class ViewWithoutPrimaryKeyTest < ActiveRecord::TestCase
+ include SchemaDumpingHelper
fixtures :books
class Paperback < ActiveRecord::Base; end
@@ -127,6 +135,11 @@ class ViewWithoutPrimaryKeyTest < ActiveRecord::TestCase
def test_does_not_have_a_primary_key
assert_nil Paperback.primary_key
end
+
+ def test_does_not_dump_view_as_table
+ schema = dump_table_schema "paperbacks"
+ assert_no_match %r{create_table "paperbacks"}, schema
+ end
end
# sqlite dose not support CREATE, INSERT, and DELETE for VIEW