我已经从(MySQL)数据库生成了实体,然后通过运行以下语句创建了一个带有空白数据库的新(zf2)项目:
vendor/bin/doctrine-module orm:schema-tool:create
vendor/bin/doctrine-module orm:schema-tool:update --force
vendor/bin/doctrine-module orm:validate-schema
不幸的是,update语句不断更新相同的语句:
ALTER TABLE rollen CHANGE name name VARCHAR(30) NOT NULL;
并且验证失败。数据库显示正确的列。 Doctrine \ DBAL \ Schema \ Comparator显示相应列的不同精度(尚不确定应该是什么)。
答案 0 :(得分:0)
查看Doctrine \ DBAL \ Schema \ Comparator中相应的diffColumn函数,向我展示了元数据模式中的自动增量集(参见下面的注释):
@ORM\GeneratedValue(strategy="IDENTITY")
精确部分似乎是这个策略的一部分(虽然我仍然不理解这一点,因为自动增量id相当于十进制,见http://doctrine-orm.readthedocs.org/en/latest/reference/annotations-reference.html#column)