请求未知的数据库类型json,Doctrine \ DBAL \ Platforms \ MySQL57Platform可能不支持它

时间:2017-06-13 09:47:45

标签: php symfony doctrine

在官方文档中,学说自2.6版以来使用json而不是json_array。但是当我用json类型映射属性时,我得到了这个错误

  

请求未知列类型“json”。您使用的任何Doctrine类型   必须使用\ Doctrine \ DBAL \ Types \ Type :: addType()

注册

版本symfony:

  

Symfony 3.3.2(内核:app,env:dev,debug:true)

需要composer.json

的一部分
"doctrine/doctrine-bundle": "^1.6",
"doctrine/orm": "^2.5",  
"symfony/symfony": "3.3.*",
github上的官方教义dbal存储库在文件夹类型中有JsonType,我没有这个。也许这是我的问题?那么我怎样才能更新我的学说dbal? 也许谁知道如何解决问题。

或者只是使用json_array?可以有人建议

1 个答案:

答案 0 :(得分:2)

正如JsonType source中所述,自Doctrine DBAL的2.6版本开始提供。 (* @since 2.6)。因此,您需要首先升级您的Doctrine。

Doctrine ORM要求DBAL在同一版本中,因此对于您的2.5版ORM,您还安装了与依赖项相同的DBAL版本。

首先需要将ORM升级到2.6,这也会导致DBAL升级。然后修复弃用问题。

但是,由于Doctrine ORM 2.6尚未发布,您可能不想这样做,因为它可能不够稳定,无法投入生产。