diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-02-06 22:57:07 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-02-06 22:57:10 -0200 |
commit | 86f4db97aa70eb4dedd2967b02a7557801fb8232 (patch) | |
tree | d40b4e0b09a1a36b1e822dae1e6512bbec34c39c | |
parent | 73510b1fb2f8e54f002d3319ae9fbba5a955d1d0 (diff) | |
download | rails-86f4db97aa70eb4dedd2967b02a7557801fb8232.tar.gz rails-86f4db97aa70eb4dedd2967b02a7557801fb8232.tar.bz2 rails-86f4db97aa70eb4dedd2967b02a7557801fb8232.zip |
Do not print anything related to extensions when they don't none exist
When extensions are supported but there's no one enabled in the
database, we should not print anything related to them in schema.rb.
-rw-r--r-- | activerecord/lib/active_record/schema_dumper.rb | 10 | ||||
-rw-r--r-- | activerecord/test/cases/schema_dumper_test.rb | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/schema_dumper.rb b/activerecord/lib/active_record/schema_dumper.rb index 62403a29c6..df090b972d 100644 --- a/activerecord/lib/active_record/schema_dumper.rb +++ b/activerecord/lib/active_record/schema_dumper.rb @@ -70,11 +70,13 @@ HEADER def extensions(stream) return unless @connection.supports_extensions? extensions = @connection.extensions - stream.puts " # These are extensions that must be enabled in order to support this database" - extensions.each do |extension| - stream.puts " enable_extension #{extension.inspect}" + if extensions.any? + stream.puts " # These are extensions that must be enabled in order to support this database" + extensions.each do |extension| + stream.puts " enable_extension #{extension.inspect}" + end + stream.puts end - stream.puts end def tables(stream) diff --git a/activerecord/test/cases/schema_dumper_test.rb b/activerecord/test/cases/schema_dumper_test.rb index c5092e15ea..bbe1a14d00 100644 --- a/activerecord/test/cases/schema_dumper_test.rb +++ b/activerecord/test/cases/schema_dumper_test.rb @@ -237,8 +237,18 @@ class SchemaDumperTest < ActiveRecord::TestCase unless connection.extension_enabled?('hstore') connection.enable_extension 'hstore' end + output = standard_dump + assert_match "# These are extensions that must be enabled", output assert_match %r{enable_extension "hstore"}, output + + connection.extensions.each do |ext| + connection.disable_extension ext + end + + output = standard_dump + assert_no_match "# These are extensions that must be enabled", output + assert_no_match %r{enable_extension}, output end def test_schema_dump_includes_xml_shorthand_definition |