Как можно изменить порядок работы при промывке - PullRequest
0 голосов
/ 26 марта 2019

Могу ли я изменить порядок выполнения 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 / апи / ОРМ / 2,7 / Doctrine / ОРМ / UnitOfWork.html

Но как я могу изменить этот порядок?

1 Ответ

0 голосов
/ 28 марта 2019

Нельзя изменить.Если вы столкнулись с этой проблемой, вам нужно создать собственную транзакцию.И обновите данные, затем вставьте вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...