aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/schema_dumper_test.rb
diff options
context:
space:
mode:
authorTobias Lütke <tobias.luetke@gmail.com>2005-12-24 16:55:55 +0000
committerTobias Lütke <tobias.luetke@gmail.com>2005-12-24 16:55:55 +0000
commit87535f50e92f7567d817b455e4f7f4a44371710f (patch)
treef225d8032f3ef489a7ff84622702488b3fe78cb2 /activerecord/test/schema_dumper_test.rb
parentac963f06233d24f26570901a60edabed4792688d (diff)
downloadrails-87535f50e92f7567d817b455e4f7f4a44371710f.tar.gz
rails-87535f50e92f7567d817b455e4f7f4a44371710f.tar.bz2
rails-87535f50e92f7567d817b455e4f7f4a44371710f.zip
SchemaDumper now doesn't fail anymore when there are unknown column types in the schema. Instead the table is ignored and a Comment is left in the schema.rb also added ActiveRecord::Base.schema_ignore_tables for dealing with funky tables like the tesearch2 ones.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3346 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test/schema_dumper_test.rb')
-rw-r--r--activerecord/test/schema_dumper_test.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/activerecord/test/schema_dumper_test.rb b/activerecord/test/schema_dumper_test.rb
index e24724c9f8..cc6a941554 100644
--- a/activerecord/test/schema_dumper_test.rb
+++ b/activerecord/test/schema_dumper_test.rb
@@ -14,6 +14,38 @@ if ActiveRecord::Base.connection.respond_to?(:tables)
assert_match %r{create_table "authors"}, output
assert_no_match %r{create_table "schema_info"}, output
end
+
+ def test_schema_dump_with_string_ignored_table
+ stream = StringIO.new
+
+ ActiveRecord::Base.schema_ignore_tables = ['accounts']
+ ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
+ output = stream.string
+ assert_no_match %r{create_table "accounts"}, output
+ assert_match %r{create_table "authors"}, output
+ assert_no_match %r{create_table "schema_info"}, output
+ end
+
+
+ def test_schema_dump_with_regexp_ignored_table
+ stream = StringIO.new
+
+ ActiveRecord::Base.schema_ignore_tables = [/^account/]
+ ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
+ output = stream.string
+ assert_no_match %r{create_table "accounts"}, output
+ assert_match %r{create_table "authors"}, output
+ assert_no_match %r{create_table "schema_info"}, output
+ end
+
+
+ def test_schema_dump_illegal_ignored_table_value
+ stream = StringIO.new
+ ActiveRecord::Base.schema_ignore_tables = [5]
+ assert_raise(StandardError) do
+ ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
+ end
+ end
end
end