Это одна из неприятностей Doctrine, невозможно сделать INSERT / UPDATE Ignore, есть обходной путь, например создание методов, которые проверяют, существует ли строка, и если она существует, то просто пропускаем ее.
Вы можете перехватить исключение, чтобы ваш сценарий не заканчивался исключением.Однако менеджер сущностей будет закрыт, и вы больше не сможете его использовать.Тем не менее, вы все еще можете использовать PDO, и вы можете вставить запись в базу данных, указывающую, что ваш пакет не прошел, потому что X
, и его нужно перезапустить (это то, что я обычно делаю).
Если ни один из вариантоввыше работы для вас, в конечном итоге я в конечном итоге пишу сырой SQL для пакетной обработки, и я вообще не использую Doctrine, в конечном итоге он работает быстрее, а способность выполнять INSERT / UPDATE Ignore делает его легким делом.