diff --git a/lib/active_record/connection_adapters/sqlserver/schema_statements.rb b/lib/active_record/connection_adapters/sqlserver/schema_statements.rb index 84a16ea9e..4a71f754e 100644 --- a/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +++ b/lib/active_record/connection_adapters/sqlserver/schema_statements.rb @@ -400,7 +400,7 @@ def schema_names FROM sys.schemas WHERE name NOT LIKE 'db_%' AND - name NOT IN ('INFORMATION_SCHEMA', 'sys') + name NOT IN ('INFORMATION_SCHEMA', 'sys', 'guest') SQL query_values(sql, "SCHEMA") diff --git a/test/cases/schema_dumper_test_sqlserver.rb b/test/cases/schema_dumper_test_sqlserver.rb index a3c82d87f..405f84c93 100644 --- a/test/cases/schema_dumper_test_sqlserver.rb +++ b/test/cases/schema_dumper_test_sqlserver.rb @@ -167,6 +167,10 @@ class SchemaDumperTestSQLServer < ActiveRecord::TestCase # Only generate non-default schemas. Default schema is 'dbo'. assert_not_includes generated_schema, 'create_schema "dbo"' + assert_not_includes generated_schema, 'create_schema "db_owner"' + assert_not_includes generated_schema, 'create_schema "INFORMATION_SCHEMA"' + assert_not_includes generated_schema, 'create_schema "sys"' + assert_not_includes generated_schema, 'create_schema "guest"' assert_includes generated_schema, 'create_schema "test"' assert_includes generated_schema, 'create_schema "test2"'