Timestampable
我在我的实体中添加了对如下的支持: use Gedmo\Timestampable\Traits\TimestampableEntity;
. 我已经通过运行更新了我的数据库,doctrine:schema:update --force
但是每当我尝试插入新记录时,我都会收到以下消息:
SQLSTATE [23502]:非空违规:7 错误:“createdat”列中的空值违反非空约束
为什么?我正在使用最新的 Symfony 2.5.3 和 PostgreSQL 9.2.9。这是完整的错误:
执行'INSERT INTO usuarios_externos.usuarios(用户名,username_canonical,电子邮件,email_canonical,启用,盐,密码,last_login,锁定,过期,expires_at,confirmation_token,password_requested_at,角色,credentials_expired,credentials_expire_at,id,persona,correo_alternativo, telefono, telefono_movil, 传真, pagina_web, direccion, deletedAt, createdAt, updatedAt, pais_id, estado_id, municipio_id, ciudad_id, parroquia_id) 值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params ["reynier", “reynier”、“reynierpm@gmail.com”、“reynierpm@gmail.com”、“假”、“hhm95if1uog88koggos48csk48k0w80”、“sVzbTOHgZzhU92zPHBFsVG3GqV+DO5xvXxvNdC5/GVJ/Hnvlm8rBsNDsIgPKYXdZ4NcnONqXnrOB6UR+lAluAw==", null, "false", "false", null, null, null, "a:0:{}", "false", null, 3, "true", “reynierpm1@gmail.com”、“021245678999”、“”、“”、“”、“sadasdasd”、空、空、空、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;
}
}