更改教义/符号中的默认字符串长度

时间:2019-02-23 15:26:20

标签: symfony doctrine-orm

每次我创建一个属性类型为Entity的新string时,每当我希望更新数据库时,都会收到错误消息:

  

SQLSTATE [42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节

现在这是许多人面临的事情,原因是  described here。我了解我的问题所在,可以通过赋予属性@ORM\Column(type="string", length=191)来解决。

我必须为架构中的每个string type设置长度为191。尽管可以在(配置)配置文件中将字符串的默认长度设置为191,所以有什么方法可以使我不必每次都更改此设置吗?

我不想更改为utf8

1 个答案:

答案 0 :(得分:-1)

在Symfony中,您不能更改字符串的默认长度。您应该在Mysql配置中将其设置为默认值。

但是我建议在编写实体时始终设置所需的长度

/**
 * @ORM\Column(type="string", length=512)
 */
private $name;