首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未知列类型"json“请求运行Doctrine 2迁移

未知列类型"json“请求运行Doctrine 2迁移
EN

Stack Overflow用户
提问于 2017-04-18 13:50:37
回答 2查看 8.7K关注 0票数 2

关于我的应用程序的一些背景:

  • ZF2应用
  • 学说/dbal v2.5.12
  • 理论/orm v2.5.6
  • 教条/迁移v1.5.0

Problem:如果运行命令migrations:diff从实体类的更改中生成迁移,则会得到以下异常:

代码语言:javascript
复制
[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(). 
EN

回答 2

Stack Overflow用户

发布于 2017-08-03 19:07:24

问题是doctrine/dbal版本2.5.x在MySQL中不支持JSON字段。

将您的composer.json中的composer.json版本转换为^2.6,它应该可以工作。确保检查释放变化量g中的兼容性破坏更改()。

票数 6
EN

Stack Overflow用户

发布于 2017-04-18 13:50:37

问题在于数据库中的旧列有一个注释(DC2Type:json)。我把它改成了(DC2Type:json_array),它起作用了。

为什么会出现这个问题?当原则是用数据库列和实际数据库列计算实体映射之间的差异时,doctrine解析MySQL列注释((DC2Type:json))并验证json类型。由于从较新的Doctrine版本,您必须使用json_array而不是json,Doctrine库引发异常。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43474145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档