Мы делаем импорт Magento-продуктов в среду CakePHP поверх SOAP. У нас есть 3,000 продуктов, и, конечно же, мы хотим, чтобы база данных не очищалась от повторяющихся записей.
Мы используем InnoDB как продукт-базу данных в CakePHP.
У нас были разные подходы:
Любые идеи?
Поскольку проблема связана с SQL и она является импортом, я буду строить запросы вручную. Возможно, напишите файл в каталоге tmp/. Все эти вставки могут составлять 1 транзакцию. Таким образом вы можете добавить игнорирование дублирующего ключа к запросам.
По самой своей природе CakePHP запускает множество запросов, и поскольку вы ограничены транзакциями, я бы не пошел с тортом.
Конечно, вы можете выкопать пирог немного глубже и выяснить, как работает его класс innodb, и посмотреть, есть ли способ обернуть запросы в транзакцию.