我正在努力解决 Doctrine - MySQL 微秒问题。我已经完成了我的研究,你可以在这里阅读:在 Symfony2 (Doctrine) 和 MySQL 中启用微秒
看来解决方案可能来自我在这里读到的http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html “日期时间”映射到日期时间(而不是日期时间(6),甚至如果 MySQL 5.6 允许),但脚注说 DATETIME 是
如果列定义不包含 platformOptions 属性数组中的版本选项或设置为 false 将其标记为非锁定信息列,则选择此选项。
所以我想有一种方法可以在列定义中指定版本选项......但无法找到如何。任何想法?
编辑:我还尝试(如@Ziumin 建议的那样)执行以下操作:
/**
* @ORM\Column(type="datetime")
* @ORM\Version
*/
protected $timestamp;
当我执行以下操作时:
php app/console doctrine:schema:update --force
我得到:
Updating database schema...
Database schema updated successfully! "1" queries were executed
但在实践中什么都没有改变。该字段现在是 TIMESTAMP(不是以前的 DATETIME,也不是应有的 DATETIME(6)),具有秒数限制。
谢谢!