Тестирование Zend_Db / PDO для механизма хранения таблиц - PullRequest
1 голос
/ 28 января 2010

Краткая справка - я пишу специальный менеджер импорта для запуска через cron. Основная операция:

  1. Удалить все записи из таблицы
  2. Загрузка данных из файла или строки в таблицу

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

Итак, главный вопрос: Существует ли более простой способ обнаружить механизм хранения для данной таблицы, чем выполнить show create table, а затем выполнить небольшой анализ, необходимый для получения механизма хранения - т.е. , Я хотел бы избежать этого дополнительного запроса.

Во-вторых: я на самом деле еще не пробовал это сделать, так как я все еще пишу некоторые другие подходящие фрагменты - так что, возможно, Zend_Db просто игнорирует beginTransaction, commit и rollback, если не поддерживается в рассматриваемой таблице?

Также я не использую Zend_Db_Table для этого - просто адаптер (Pdo_Mysql). Кроме того, я совершенно готов использовать сырой PDO, если это как-то позволяет более элегантное решение.

(я не заинтересован в использовании mysqlimport для этой конкретной реализации по ряду причин, в которые я не собираюсь вдаваться, поэтому давайте просто скажем, что это вообще не вариант)

Ответы [ 2 ]

1 голос
/ 02 августа 2011

Не знаю, актуально ли это для вас, но как насчет этого ответа:

Как проверить тип движка MySQL для конкретной таблицы?

1 голос
/ 28 января 2010

Я бы посоветовал решить вашу проблему с переименованием исходной таблицы и удалением ее после успешного завершения;)

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