在我的Linux服务器中,我的MariaDB版本为10.0,它不支持json类型(直到10.2版才支持),而且我无法更新它,因为它没有在正式的ubuntu存储库中发布。
当我运行命令doctrine:migration:migrate创建表时,我会从json类型的MariaDB中得到一个语法错误。
MariaDB: 10.0.34 - PHP: 7.1 - Symfony: 4.0.6
我该如何解决这个问题?
发布于 2018-07-13 12:42:07
问题在于,Doctrine期待的是MariaDB 10.2+,但在将最新的MariaDB版本引入repos (Arch仍在10.1岁)方面存在问题。
解决方案在这里:https://symfony.com/doc/current/reference/configuration/doctrine.html#doctrine-dbal-configuration
只需将server_version在config/packages/doctrine.yml中配置为:
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: 'mariadb-10.1.34'
...只需将版本替换为您可以获得的版本号。
$ mysql --version发布于 2021-03-16 10:37:01
请注意,不要忘记删除以前使用旧的"server_version“生成的迁移。
所有内容都包含在项目的"/迁移“目录中。
发布于 2019-05-25 14:31:14
* @ORM\Column(name="roles", type="string")
private $usuarioRoles;
public function getRoles(): array {
$roles = explode(",",$this->usuarioRoles);
// guarantee every user at least has ROLE_USER
$roles[] = 'ROLE_USER';
return array_unique($roles);
}
public function setRoles(array $roles): self {
$this->usuarioRol = implode(",",$roles);
return $this;
}https://stackoverflow.com/questions/49514450
复制相似问题