Я добавил поддержку Timestampable
в свой объект следующим образом: use Gedmo\Timestampable\Traits\TimestampableEntity;
, Я обновил свою БД, запустив doctrine:schema:update --force
но в любое время, когда я пытаюсь вставить новую запись, я получаю это сообщение:
SQLSTATE [23502]: Непустое нарушение: 7 ОШИБКА: значение null в столбце «createdat» нарушает непустое ограничение
Зачем? Я использую последние Symfony 2.5.3 и PostgreSQL 9.2.9. Это полная ошибка:
Исключение произошло при выполнении «INSERT INTO usuarios_externos.usuarios» (имя пользователя, имя_пользователя_канального, email, email_canonical, enabled, salt, password, last_login, locked, expired, expires_at, confirm_token, password_requested_at, роли, credentials_expired, credentials_expire_at, id, persona, correo_alternativo, telefono, telefono_movil, fax, pagina_web, direccion, deletedAt, createdAt, updatedAt, pais_id, estado_id, municipio_id, ciudad_id, parroquia_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? α, α, α, α, «reynier», «reynierpm@gmail.com», «reynierpm@gmail.com», «false», «hhm95if1uog88koggos48csk48k0w80», «sVzbTOHgZzhU92zPHBFsVG3GqV + DO5xvXxvNdC5 / GVJ / Hnvlm8rBsNDsIgPKYXdZ4NcnONqXnrOB6UR + lAluAw ==", null, "false", "false ", null, null, null," a: 0: {} "," false ", null, 3," true "," reynierpm1@gmail.com "," 021245678999 "," "," "," ", "sadasdasd", null, null, null, 23, 1, 1, 1, 22]
Любой совет?
Добавленный объект
<?php use FOS\UserBundle\Model\User as BaseUser; use Gedmo\Mapping\Annotation as Gedmo; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="usuarios_externos.usuarios", schema="usuarios_externos") * @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false) */ class Usuario extends BaseUser { .... /** * @var datetime $created * * @Gedmo\Timestampable(on="create") * @ORM\Column(type="datetime") */ private $created; /** * @var datetime $updated * * @Gedmo\Timestampable(on="update") * @ORM\Column(type="datetime") */ private $updated; /** * @ORM\Column(name="deletedAt", type="datetime", nullable=true) */ protected $deletedAt; .... public function getCreated() { return $this->created; } public function getUpdated() { return $this->updated; } public function setDeletedAt($deletedAt) { $this->deletedAt = $deletedAt; } public function getDeletedAt() { return $this->deletedAt; } }
Вы должны включить timestampable в вашей конфигурации:
stof_doctrine_extensions: orm: default: timestampable: true