Массовые Update и Delete в ORM

Рейтинг: 60.2055  
На голосовании
Предложил Пользователь 203730 08.07.2014 16:08:39

Массовые Update и Delete в ORM

В настоящий момент ORM поддерживает только Update/Delete по первичному ключу.

В результате если вам нужно удалить 10000 из 1 миллиона при определенном условии приходится или писать говнокод (перебор в цикле, а при указанных объемах это уже пошаговый процесс) или писать говнокод (sql-запрос ручками с поддержкой 3х баз даных).

В общем даешь методы bulkUpdate и bulkDelete которые смогут:
а) обновлять/удалять записи по условиям а не по ключам
б) смогут использовать в запросах свои же поля (например, увеличить значение целочисленного поля НА 1, т.е. SET x = x + 1)

Рейтинг: 9.5418  
Пользователь 203730 08.07.2014 21:10:55
Ну и раз такая пьянка, то и массовый Insert бы тоже не помешал
Рейтинг: 4.8716  
Пользователь 4228 16.07.2014 16:05:52
Ну или хотя бы знать, почему это не реализовано/зуемо.
Рейтинг: 0  
Пользователь 50676 16.09.2014 19:55:54
Актуальный функционал, который зачастую чертовски необходим (допустим удаление большого количества элементов)
SQL такую возможность предоставляет. Делать в цикле миллионы запросов на удаление - не правильно и очень затратно по ресурсам.
Рейтинг: 0  
Пользователь 16183 09.10.2014 07:22:17
Я уже писал на форуме в теме обсуждения ORM про то что было бы классно если бы update и delete могли принимать не первичный ID, а массив фильтрации... и даже предлагал ввести еще доп. функцию deleteAll() когда надо полностью очистить сущность...

Но комментарий который получил так это то чтобы сделать псевдо функции внутри которых будет работать getList и выполнять имеющиеся update и delete
Рейтинг: 0  
Пользователь 191258 11.11.2014 13:39:46
Крайне необходимая вещь!
Рейтинг: 0  
Пользователь 77491 27.07.2015 18:39:15
Очень нужный функционал.  
Рейтинг: 0  
Пользователь 356398 16.05.2016 16:57:56
Рейтинг: 0  
Пользователь 3089 23.04.2018 20:17:47
Поддерживаю для ситуаций, когда события не нужны (только для них).

У меня это банальный список транзакций, которые я обработал и повторно их обрабатывать нельзя (получаю их из платежной системы). Уже через сутки запись об обработанной транзакции теряет актуальность. Нужен агент, который будет чистить таблицу. Записи в таблице ни с чем не связаны и не будут. По замыслу самого журнала не будут.
Рейтинг: 3  
Пользователь 114664 21.05.2018 12:31:03
2018 на дворе. Сделайте уже....