aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2013-02-06 22:57:07 -0200
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2013-02-06 22:57:10 -0200
commit86f4db97aa70eb4dedd2967b02a7557801fb8232 (patch)
treed40b4e0b09a1a36b1e822dae1e6512bbec34c39c /activerecord
parent73510b1fb2f8e54f002d3319ae9fbba5a955d1d0 (diff)
downloadrails-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.
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/schema_dumper.rb10
-rw-r--r--activerecord/test/cases/schema_dumper_test.rb10
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