提交 cf4ba2fa 编写于 作者: Y Yasuo Honda

Implement `PostgreSQL::SchemaDumper#extensions`

and abstract `SchemaDumper#extensions` is now an empty method.

Since #30337, every database adapter has its own `SchemaDumper`.
`extensions` are only supported by PostgreSQL database and postgresql database adapter.
上级 731ea4e3
......@@ -5,6 +5,18 @@ module ConnectionAdapters
module PostgreSQL
class SchemaDumper < ConnectionAdapters::SchemaDumper # :nodoc:
private
def extensions(stream)
extensions = @connection.extensions
if extensions.any?
stream.puts " # These are extensions that must be enabled in order to support this database"
extensions.sort.each do |extension|
stream.puts " enable_extension #{extension.inspect}"
end
stream.puts
end
end
def prepare_column_options(column)
spec = super
spec[:array] = "true" if column.array?
......
......@@ -82,16 +82,8 @@ def trailer(stream)
stream.puts "end"
end
# extensions are only supported by PostgreSQL
def extensions(stream)
return unless @connection.supports_extensions?
extensions = @connection.extensions
if extensions.any?
stream.puts " # These are extensions that must be enabled in order to support this database"
extensions.sort.each do |extension|
stream.puts " enable_extension #{extension.inspect}"
end
stream.puts
end
end
def tables(stream)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册