Kri*_*nas 1 php database-migration doctrine-orm zend-framework2
关于我的申请的一些背景:
问题:如果我运行命令migrations:diff从实体类中的更改生成迁移,则会出现以下异常:
[Doctrine\DBAL\DBALException] Unknown column type "json" requested.
Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrine\DBAL\Types\Type::getTypesMap().
Run Code Online (Sandbox Code Playgroud)
问题是因为数据库中的旧列有评论(DC2Type:json)。我将其更改为(DC2Type:json_array)并且有效。
为什么会出现这个问题呢?当 Doctrine 计算实体映射与数据库列和实际数据库列之间的差异时,Doctrine 会解析 MySQL 列注释 ( (DC2Type:json)) 并验证json类型。由于从较新的 Doctrine 版本开始,您必须使用json_array而不是json,Doctrine 库会引发异常。