Revert "Merge pull request #40178 from tgxworld/raise_error_from_delete_all"
This reverts commit b8ab1f89fc3a26c83066b052b6262e8df12d1217, reversing changes made to 73ae5655a098ef84bba77b59cde716265aa5fd0b.
This commit is contained in:
parent
015c393285
commit
a14f06692d
@ -11,7 +11,7 @@ class Relation
|
||||
:reverse_order, :distinct, :create_with, :skip_query_cache]
|
||||
|
||||
CLAUSE_METHODS = [:where, :having, :from]
|
||||
INVALID_METHODS_FOR_DELETE_ALL = [:distinct, :group, :having, :from]
|
||||
INVALID_METHODS_FOR_DELETE_ALL = [:distinct, :group, :having]
|
||||
|
||||
VALUE_METHODS = MULTI_VALUE_METHODS + SINGLE_VALUE_METHODS + CLAUSE_METHODS
|
||||
|
||||
@ -577,9 +577,8 @@ def destroy_all
|
||||
def delete_all
|
||||
invalid_methods = INVALID_METHODS_FOR_DELETE_ALL.select do |method|
|
||||
value = @values[method]
|
||||
[:distinct, :from].include?(method) ? value : value&.any?
|
||||
method == :distinct ? value : value&.any?
|
||||
end
|
||||
|
||||
if invalid_methods.any?
|
||||
raise ActiveRecordError.new("delete_all doesn't support #{invalid_methods.join(', ')}")
|
||||
end
|
||||
|
@ -50,7 +50,6 @@ def test_delete_all_with_unpermitted_relation_raises_error
|
||||
assert_raises(ActiveRecord::ActiveRecordError) { Author.distinct.delete_all }
|
||||
assert_raises(ActiveRecord::ActiveRecordError) { Author.group(:name).delete_all }
|
||||
assert_raises(ActiveRecord::ActiveRecordError) { Author.having("SUM(id) < 3").delete_all }
|
||||
assert_raises(ActiveRecord::ActiveRecordError) { Author.from("(SELECT * FROM authors) AS authors").delete_all }
|
||||
end
|
||||
|
||||
def test_delete_all_with_joins_and_where_part_is_hash
|
||||
|
Loading…
Reference in New Issue
Block a user