Могу ли я изменить порядок выполнения sql во время сброса в Doctrine.
Mysql имеет хорошо известную ошибку. Это выражение может вызвать тупик
INSERT INTO operations(id, user_id) VALUES(null, 123);
UPDATE users SET user_name = 'name' WHERE id = 123;
Deadlock found when trying to get lock; try restarting transaction
Итак, я хочу изменить порядок во время промывки, обновить и вставить. Как я могу это сделать?
Документация говорит, что заказ предопределен
1) Все вставки сущностей 2) Все обновления сущностей 3) Все удаления коллекций 4) Все обновления коллекции 5) Все удаления сущностей
https://www.doctrine-project.org/api/orm/2.7/Doctrine/ORM/UnitOfWork.html
Но как я могу изменить этот порядок?
Это не может быть изменено. Если вы столкнулись с этой проблемой, вам нужно создать собственную транзакцию. И обновите флеш, затем вставьте флеш вручную.