【发布时间】:2015-10-21 13:15:17
【问题描述】:
我使用 Doctrine 2.2.3 和 Symfony 2.0.12,我遇到了 Doctrine 问题,当我启动doctrine:schema:update 时,它会一次又一次地产生相同的查询集,如下所示:
ALTER TABLE Testimonial CHANGE frontPage frontPage TINYINT(1) NOT NULL;
ALTER TABLE Slider CHANGE active active TINYINT(1) DEFAULT NULL;
ALTER TABLE LPSlider CHANGE active active TINYINT(1) DEFAULT NULL;
ALTER TABLE CustomerDesign CHANGE requestProof requestProof TINYINT(1) DEFAULT NULL, CHANGE isBlank isBlank TINYINT(1) DEFAULT NULL, CHANGE hidden hidden TINYINT(1) DEFAULT NULL;
ALTER TABLE SessionDesign CHANGE requestProof requestProof TINYINT(1) DEFAULT NULL, CHANGE isBlank isBlank TINYINT(1) DEFAULT NULL;
还有更多,如您所见,这只是“TINYINT(1) DEFAULT NULL”更改,如果我使用 --force 运行命令,它会成功更新架构:
Database schema updated successfully! "30" queries were executed
但是如果我再次运行教义:schema:update --dump-sql 它会显示相同的查询,我检查了数据库,所有这些字段都已经“TINYINT(1) DEFAULT NULL”。
我使用 PHP Entities 注解,例如:
/**
* @var boolean $frontPage
*
* @ORM\Column(name="frontPage", type="boolean")
*/
private $frontPage;
我无法将 Doctrine 更新到 v2.3 或更高版本,它不适用于我的 Symfony 版本,更新 Symfony 可能真的很痛苦,因为这是一个非常庞大的项目。
更新:
我设法将应用程序升级到最新版本的 Symfony 2.7.5 和 Doctrine 2.5.1 并且仍然有同样的问题,尝试使用教义:架构:创建创建新数据库,但教义:架构:更新再次显示相同“TINYINT(1) NOT NULL”的变化。
【问题讨论】:
-
请提供使用的数据库。
-
数据库是MySql 5.5.42
标签: php mysql symfony doctrine-orm doctrine