Как можно изменить порядок работы при промывке

0

Могу ли я изменить порядок выполнения 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

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

  • 0
    Вы пробовали с обратными вызовами жизненного цикла?
  • 1
    Я бы старался чаще промывать
Теги:
doctrine

1 ответ

0
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню