Skip to content

Commit 28dc6d7

Browse files
committed
Deprecate passing default to index_name_exists?
1 parent 5e67187 commit 28dc6d7

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed

activerecord/CHANGELOG.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
* Deprecate passing `default` to `index_name_exists?`.
2+
3+
*Ryuta Kamizono*
4+
15
* PostgreSQL: schema dumping support for interval and OID columns.
26

37
*Ryuta Kamizono*
@@ -12,7 +16,7 @@
1216

1317
*namusyaka*
1418

15-
* Allow ActiveRecord::Base#as_json to be passed a frozen Hash.
19+
* Allow `ActiveRecord::Base#as_json` to be passed a frozen Hash.
1620

1721
*Isaac Betesh*
1822

@@ -32,9 +36,9 @@
3236

3337
*Ryuta Kamizono*
3438

35-
* Fix `association_primary_key_type` for reflections with symbol primary key
39+
* Fix `association_primary_key_type` for reflections with symbol primary key.
3640

37-
Fixes #27864
41+
Fixes #27864.
3842

3943
*Daniel Colson*
4044

activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,11 @@ def index_name(table_name, options) #:nodoc:
774774

775775
# Verifies the existence of an index with a given name.
776776
def index_name_exists?(table_name, index_name, default = nil)
777+
unless default.nil?
778+
ActiveSupport::Deprecation.warn(<<-MSG.squish)
779+
Passing default to #index_name_exists? is deprecated without replacement.
780+
MSG
781+
end
777782
index_name = index_name.to_s
778783
indexes(table_name).detect { |i| i.name == index_name }
779784
end

activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ def schema_exists?(name)
133133

134134
# Verifies existence of an index with a given name.
135135
def index_name_exists?(table_name, index_name, default = nil)
136+
unless default.nil?
137+
ActiveSupport::Deprecation.warn(<<-MSG.squish)
138+
Passing default to #index_name_exists? is deprecated without replacement.
139+
MSG
140+
end
136141
table = Utils.extract_schema_qualified_name(table_name.to_s)
137142
index = Utils.extract_schema_qualified_name(index_name.to_s)
138143

activerecord/test/cases/migration/index_test.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ def test_rename_index
3131
connection.add_index(table_name, [:foo], name: "old_idx")
3232
connection.rename_index(table_name, "old_idx", "new_idx")
3333

34-
assert_not connection.index_name_exists?(table_name, "old_idx")
35-
assert connection.index_name_exists?(table_name, "new_idx")
34+
assert_deprecated do
35+
assert_not connection.index_name_exists?(table_name, "old_idx", false)
36+
assert connection.index_name_exists?(table_name, "new_idx", true)
37+
end
3638
end
3739

3840
def test_rename_index_too_long

0 commit comments

Comments
 (0)