无法升级到最新版本的 Orbeon 表单(2019.1 CE)

Unable to upgrade to the latest version of Orbeon forms (2019.1 CE)

我正在尝试使用 MariaDB (10.1) 关系数据库将 Orbeon 表单从版本 2017.2 CE 升级到最新版本 (2019.1 CE),并且在 运行 升级时收到以下错误消息脚本:

Specified key was too long; max key length is 767 bytes

我想这是由于要创建的索引包含多个使用归类 utf8mb4 的 VARCHAR(255) 字段引起的。

在这种情况下,是否有任何可用的解决方法?

你是对的:这是由于包含多个字符串的索引的组合,utf8mb4 现在用于存储文本,以及你正在使用的 MariaDB 版本限制了最大键的大小长度为 767 字节。您可以通过以下任一方式解决此问题:

  • 正在升级 MariaDB。在 MySQL 方面,自 MySQL 5.7 以来,InnoDB 表的键前缀长度限制为 3072 字节,最初发布于撰写本文时大约 4 年前(2015 年 10 月 21 日)。我不确定该更改何时(或什至是否)对 MariaDB 进行了更改。希望您能找到这些信息,我建议您先探索这个选项。
  • 更改 Orbeon Forms 附带的 DDL 以使用 utf8 字符集而不是 utf8mb4

有关这方面的更多信息,请参阅 MySQL versions 部分中的第一个要点。