我使用Planethoster来托管我的网站,但是他们使用不支持JSON数据类型的Mariadb版本。所以我有一个问题,我不能在数据库中使用JSON或Array作为我的角色。
我想知道我是否可以创建角色实体并在角色和用户之间建立关系?我对其他捆绑包有很多问题吗?如果有可能,我应该在security.yml中更改什么?
或者可能有更好的解决方案将JSON保留在旧的MariaDB版本中?
谢谢
Doctrine无法正确确定您的数据库版本。对于较旧的MariaDB版本,Doctrine应自动将JSON转换为LONGTEXT。检查这个线程MySQL / MariaDB not accepting JSON Format? Can not create Database
正如@GodfreyLaswai所说
首先检查你的mariadb版本。版本10.1不支持JSON数据类型,并且对10.2版的支持不完整。
解决方法是将doctrine.yaml文件中的版本添加到
server_version:'5.6'
然后重新生成getter和setter
php bin / console make:entity --regenerate
然后生成迁移文件
php bin / console make:migration
这将生成一个数据类型设置为LONGTEXT的迁移文件。