diff options
author | Yves Senn <yves.senn@gmail.com> | 2015-06-15 09:12:55 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2015-06-15 09:42:26 +0200 |
commit | 0e928de345a99a6173efbaa5c87e472dd86e4110 (patch) | |
tree | 26077c560e43ff7b2dc16caa4963e83119caefde /activerecord/test/cases | |
parent | 863fcfa79ae625b891bbd4fbc86a7a1f9553dddd (diff) | |
download | rails-0e928de345a99a6173efbaa5c87e472dd86e4110.tar.gz rails-0e928de345a99a6173efbaa5c87e472dd86e4110.tar.bz2 rails-0e928de345a99a6173efbaa5c87e472dd86e4110.zip |
make `remove_index :table, :column` reversible.
This used to raise a `IrreversibleMigration` error (since #10437).
However since `remove_index :table, :column` is probably the most basic
use-case we should make it reversible again.
Conflicts:
activerecord/CHANGELOG.md
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/invertible_migration_test.rb | 16 | ||||
-rw-r--r-- | activerecord/test/cases/migration/command_recorder_test.rb | 5 |
2 files changed, 15 insertions, 6 deletions
diff --git a/activerecord/test/cases/invertible_migration_test.rb b/activerecord/test/cases/invertible_migration_test.rb index 8144f3e5c5..99230aa3d5 100644 --- a/activerecord/test/cases/invertible_migration_test.rb +++ b/activerecord/test/cases/invertible_migration_test.rb @@ -144,13 +144,17 @@ module ActiveRecord end def test_exception_on_removing_index_without_column_option - RemoveIndexMigration1.new.migrate(:up) - migration = RemoveIndexMigration2.new - migration.migrate(:up) + index_definition = ["horses", [:name, :color]] + migration1 = RemoveIndexMigration1.new + migration1.migrate(:up) + assert migration1.connection.index_exists?(*index_definition) - assert_raises(IrreversibleMigration) do - migration.migrate(:down) - end + migration2 = RemoveIndexMigration2.new + migration2.migrate(:up) + assert_not migration2.connection.index_exists?(*index_definition) + + migration2.migrate(:down) + assert migration2.connection.index_exists?(*index_definition) end def test_migrate_up diff --git a/activerecord/test/cases/migration/command_recorder_test.rb b/activerecord/test/cases/migration/command_recorder_test.rb index 24d3c085a7..90b7c6b38a 100644 --- a/activerecord/test/cases/migration/command_recorder_test.rb +++ b/activerecord/test/cases/migration/command_recorder_test.rb @@ -206,6 +206,11 @@ module ActiveRecord end def test_invert_remove_index + add = @recorder.inverse_of :remove_index, [:table, :one] + assert_equal [:add_index, [:table, :one]], add + end + + def test_invert_remove_index_with_column add = @recorder.inverse_of :remove_index, [:table, {column: [:one, :two], options: true}] assert_equal [:add_index, [:table, [:one, :two], options: true]], add end |