提交 fa9e4970 编写于 作者: S Sean Griffin

Merge pull request #21429 from yui-knk/fix/revert_disable_extension

Make revert of `disable_extension` to work
......@@ -17,7 +17,7 @@ class CommandRecorder
ReversibleAndIrreversibleMethods = [:create_table, :create_join_table, :rename_table, :add_column, :remove_column,
:rename_index, :rename_column, :add_index, :remove_index, :add_timestamps, :remove_timestamps,
:change_column_default, :add_reference, :remove_reference, :transaction,
:drop_join_table, :drop_table, :execute_block, :enable_extension,
:drop_join_table, :drop_table, :execute_block, :enable_extension, :disable_extension,
:change_column, :execute, :remove_columns, :change_column_null,
:add_foreign_key, :remove_foreign_key
]
......
......@@ -93,6 +93,18 @@ def change
end
end
class DisableExtension1 < SilentMigration
def change
enable_extension "hstore"
end
end
class DisableExtension2 < SilentMigration
def change
disable_extension "hstore"
end
end
class LegacyMigration < ActiveRecord::Migration
def self.up
create_table("horses") do |t|
......@@ -255,6 +267,27 @@ def test_migrate_revert_change_column_default
assert_equal "Sekitoba", Horse.new.name
end
if current_adapter?(:PostgreSQLAdapter)
def test_migrate_enable_and_disable_extension
migration1 = InvertibleMigration.new
migration2 = DisableExtension1.new
migration3 = DisableExtension2.new
migration1.migrate(:up)
migration2.migrate(:up)
assert_equal true, Horse.connection.extension_enabled?('hstore')
migration3.migrate(:up)
assert_equal false, Horse.connection.extension_enabled?('hstore')
migration3.migrate(:down)
assert_equal true, Horse.connection.extension_enabled?('hstore')
migration2.migrate(:down)
assert_equal false, Horse.connection.extension_enabled?('hstore')
end
end
def test_revert_order
block = Proc.new{|t| t.string :name }
recorder = ActiveRecord::Migration::CommandRecorder.new(ActiveRecord::Base.connection)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册