diff --git a/lib/strong_migrations.rb b/lib/strong_migrations.rb index 11c22c6..0348b0a 100644 --- a/lib/strong_migrations.rb +++ b/lib/strong_migrations.rb @@ -41,7 +41,7 @@ class << self self.check_down = false self.alphabetize_schema = false self.skip_databases = [] - self.remove_invalid_indexes = false # does not affect safe_by_default + self.remove_invalid_indexes = false # private def self.developer_env? diff --git a/lib/strong_migrations/safe_methods.rb b/lib/strong_migrations/safe_methods.rb index 0bf2c2a..5ff838f 100644 --- a/lib/strong_migrations/safe_methods.rb +++ b/lib/strong_migrations/safe_methods.rb @@ -6,7 +6,6 @@ def safe_by_default_method?(method) def safe_add_index(*args, **options) disable_transaction - remove_invalid_index_if_needed(*args, **options.merge(algorithm: :concurrently)) @migration.add_index(*args, **options.merge(algorithm: :concurrently)) end diff --git a/test/safe_by_default_test.rb b/test/safe_by_default_test.rb index 65d1f14..ee05dc1 100644 --- a/test/safe_by_default_test.rb +++ b/test/safe_by_default_test.rb @@ -25,25 +25,21 @@ def test_add_index_invalid end end - # fail if same name but different options - error = assert_raises(ActiveRecord::StatementInvalid) do - migrate AddIndexUnique - end - assert_kind_of PG::DuplicateTable, error.cause - - # TODO do not fail if already safe - error = assert_raises(ActiveRecord::StatementInvalid) do - migrate AddIndexConcurrently - end - assert_kind_of PG::DuplicateTable, error.cause - - migrate AddIndexes + StrongMigrations.stub(:remove_invalid_indexes, true) do + # fail if same name but different options + error = assert_raises(ActiveRecord::StatementInvalid) do + migrate AddIndexUnique + end + assert_kind_of PG::DuplicateTable, error.cause - # fail if trying to add the same index in a future migration - error = assert_raises(ActiveRecord::StatementInvalid) do migrate AddIndexes + + # fail if trying to add the same index in a future migration + error = assert_raises(ActiveRecord::StatementInvalid) do + migrate AddIndexes + end + assert_kind_of PG::DuplicateTable, error.cause end - assert_kind_of PG::DuplicateTable, error.cause migrate AddIndexes, direction: :down end diff --git a/test/timeouts_test.rb b/test/timeouts_test.rb index cfbe268..cf8fa39 100644 --- a/test/timeouts_test.rb +++ b/test/timeouts_test.rb @@ -170,22 +170,6 @@ def test_lock_timeout_retries_add_index migrate AddIndexConcurrently, direction: :down end - def test_lock_timeout_retries_add_index_safe_by_default - skip unless postgresql? - - StrongMigrations.safe_by_default = true - - assert_raises(ActiveRecord::LockWaitTimeout) do - with_lock_timeout_retries do - migrate AddIndex - end - end - - migrate AddIndex, direction: :down - ensure - StrongMigrations.safe_by_default = false - end - def test_lock_timeout_retries_add_index_remove_invalid_indexes skip unless postgresql?