我已经搜索了互联网,书籍和论坛寻找答案,我希望有人可以提供帮助。
我有一个标准的Symfony 2项目设置,在学说中使用实体注释。我遇到的问题是我的任何包含日期时间类型的实体都不断想要迁移。所以在初始迁移到db后我可以重新运行docrine:schema:update --dump-sql,我仍然看到这个:
ALTER TABLE log CHANGE date date DATETIME NOT NULL;
ALTER TABLE message CHANGE created_on created_on DATETIME NOT NULL, CHANGE updated_on updated_on DATETIME NOT NULL;
ALTER TABLE module CHANGE start_date start_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, CHANGE end_date end_date DATETIME NOT NULL;
ALTER TABLE scheduled_commands CHANGE last_execution last_execution DATETIME NOT NULL;
我可以整天坐在这里进行迁移并检查它,它会保持不变。这些实体在它们中没有任何特殊之处:
/**
* @var \DateTime
*
* @ORM\Column(name="start_date", type="datetime")
*/
private $startDate;
/**
* @var \DateTime
*
* @ORM\Column(name="end_date", type="datetime")
*/
private $endDate;
有没有人对此有任何想法?我现在完全被难过了:(。
mysql设置也是当前的5.6.25
列结构在迁移后看起来像这样
`start_date` | DATETIME | NOT NULL,
`end_date` | DATETIME | NOT NULL
答案 0 :(得分:0)
您需要确保在types.datetime
中正确设置了doctrine.yaml