Невозможно обновить до последней версии форм Orbeon (2019.1 CE) - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь обновить формы Orbeon с версии 2017.2 CE до последней (2019.1 CE), используя реляционную базу данных MariaDB (10.1), и я получаю следующее сообщение об ошибке при запуске сценариев обновления:

Указанный ключ был слишком длинным;максимальная длина ключа составляет 767 байт

Полагаю, это связано с тем, что создаваемые индексы содержат несколько полей с VARCHAR (255) с использованием параметров сортировки utf8mb4.

В этом случае есть ли обходной путь?

Заранее спасибо

1 Ответ

0 голосов
/ 31 октября 2019

Вы правы: это происходит из-за комбинации индексов, содержащих несколько строк, utf8mb4 теперь используется для хранения текста и версии MariaDB, на которой вы устанавливаете ограничение размера максимальной длины ключа до 767 байтов,Вы можете решить эту проблему:

  • Обновление MariaDB. На стороне MySQL ограничение длины префикса ключа составляет 3072 байта для таблиц InnoDB, начиная с MySQL 5.7, первоначально выпущенной около 4 лет назад на момент написания этой статьи (21 октября 2015 г.). Я не уверен, когда (или даже если) это изменение сделало это MariaDB. Надеюсь, вы сможете найти эту информацию, и я бы рекомендовал вам сначала изучить эту опцию.
  • Изменение DDL, поставляемого с Orbeon Forms, на использование набора символов utf8 вместо utf8mb4.
...