Symfony 4如何管理角色?

问题描述 投票:-1回答:1

我使用Planethoster来托管我的网站,但是他们使用不支持JSON数据类型的Mariadb版本。所以我有一个问题,我不能在数据库中使用JSON或Array作为我的角色。

我想知道我是否可以创建角色实体并在角色和用户之间建立关系?我对其他捆绑包有很多问题吗?如果有可能,我应该在security.yml中更改什么?

或者可能有更好的解决方案将JSON保留在旧的MariaDB版本中?

谢谢

symfony symfony4 symfony-4.2
1个回答
0
投票

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的迁移文件。

© www.soinside.com 2019 - 2024. All rights reserved.