У меня проблемы с функциональностью Timestampable в Doctrine 1.2.2 и 1.2.3.Doctrine unsigned validation error storage created created_at
Я получаю ошибку при попытке спасти() моя запись является:
Uncaught exception 'Doctrine_Validator_Exception' with message 'Validation failed in class XXX 1 field had validation error: * 1 validator failed on created_at (unsigned) ' in ...
Я создал соответствующее поле в таблице MySQL, как:
created_at
DATETIME NOT NULL,
Тогда в setTableDefinition() У меня есть:
$this->hasColumn('created_at', 'timestamp', null, array( 'type' => 'timestamp', 'fixed' => false, 'unsigned' => false, 'primary' => false, 'notnull' => true, 'autoincrement' => false, ));
который берется прямо с выхода generateModelsFromDb().
И, наконец, мой нАлАдкА() выглядит следующим образом:
public function setUp() { parent::setUp(); $this->actAs('Timestampable', array( 'created' => array( 'name' => 'created_at', 'type' => 'timestamp', 'format' => 'Y-m-d H:i:s', 'disabled' => false, 'options' => array() ), 'updated' => array( 'disabled' => true ))); }
(я старался не определения всех этих полей «создал», но я получаю такую же проблему.)
Я м немного тупик относительно того, что я делаю неправильно - за одну вещь, которую я не могу понять, почему доктрина будет работать под любые неподписанные чеки против «метки времени» тип данных ...
Обновлено
Я на Debian Lenny (5.0.8) с MySQL (5.0.51a-24 + lenny5O). Проблема возникает с Doctrine 1.2.3 и 1.2.2. Я заметил, что в примерах Doctrine используются столбцы TIMESTAMP MySQL, а не DATETIME, поэтому я изменил это и повторно сгенерировал, но проблема все еще повторялась. Я также подумал, что это может быть проблемой с определением MySQL, поэтому я запустил generateSqlFromModels, чтобы получить правильный SQL, но это тоже было нормально (DATETIME NOT NULL).
Я полностью тупик - вошли ошибка в доктрине JIRA, чтобы увидеть, если я могу получить это выяснял: DC-965
Любая помощь с благодарностью получил!
Alex
Просто быстрое обновление по этому вопросу: чтобы попробовать альтернативный трек, я удалил определение hasColumn(), упростил действие, как только это $ this-> actAs («Timestampable»), удалил таблицу в базе данных, а затем запустил Doctrine :: createTablesFromModels(). Ошибка, которую я получил: «В двух полях были ошибки проверки: * 1 validator failed on created_at (unsigned) * 1 validator failed on updated_at (без знака)« Так что я уверен, что ошибка не что-то иное делать с определениями столбцов, либо в Доктрине, либо в MySQL. Так что же это уходит? Любая помощь оценена! –
Любое обновление об этом ребята? Я попробовал еще раз со всем новым кодом и новой установкой Doctrine 1.2.3, и проблема все еще встречается –