【问题标题】:Change default string length in doctrine/symfony更改教义/symfony 中的默认字符串长度
【发布时间】:2019-02-23 15:26:19
【问题描述】:

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

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

现在这是许多人面临的问题,原因是 described here。我明白我的问题是什么,我可以通过提供属性@ORM\Column(type="string", length=191) 来解决它。

不过,我必须将架构中每个 string type 的长度设置为 191。有什么办法可以在(教义)配置文件中将字符串的默认长度设置为 191,这样我就不必每次都更改它?

我不想改成 utf8

【问题讨论】:

标签: symfony doctrine-orm


【解决方案1】:

对于 Symfony 6+,下面的代码可能会有所帮助。只需在教义迁移名称中为具有迁移名称的列设置长度。yaml:

doctrine_migrations:
  storage:
    table_storage:
        table_name: 'migration_version'
        version_column_name: 'version'
        version_column_length: 255
        executed_at_column_name: 'executed_at'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 2019-10-15
    • 2020-07-07
    • 2022-01-17
    • 1970-01-01
    相关资源
    最近更新 更多