Django не может мигрировать на Galera, но автономная MariaDB работает

Я использую Django вместе с MariaDB, теперь я перенес свое приложение на K8s и моя миграция Django не хочет запускаться, вместо этого весь процесс миграции завершается неудачей. На моей локальной системе разработки я использую отдельный экземпляр MariaDB, где все работает нормально. Как может быть, что тот же процесс не работает на Galera-Cluster, здесь вывод моего приложения следующий при попытке перенести все таблицы:

Почему я получаю эту ошибку только с Galera-Cluster, но не с моим локальным экземпляром MariaDB? И как я могу это исправить.

Вот как поле выглядит в моем models.py:

avatar_path = models.TextField(verbose_name="Avatar Path", blank=True, null=True, editable=True, max_length=1000, unique=True)

Я ожидал, что мои миграции будут обрабатываться так же, как и при локальном развертывании MariaDB, что, очевидно, не так.

ОБНОВЛЕНИЕ:

После удаления поля avatar_path я столкнулся с точно такой же проблемой с другими полями. Похоже, что это проблема, связанная с движком DB. Но я всегда сталкиваюсь с этим при использовании models.TextField, похоже.

Не уверен, насколько это важно, но вот файл конфигурации my.cnf, который запускает Galera-Cluster:

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

Вместо использования TextField, которое переводится как Text, используйте models.CharField(verbose_name="Avatar Path", blank=True, null=True, editable=True, max_length=1000, unique=True).

В то время как MDEV-371 Unique indexes for blobs (and Text) был реализован в MariaDB, (и разница в версии между вашей локальной версией и версией Galera, вероятно, является причиной ошибки). В последнее время в ней было несколько ошибок, поэтому использование CharField переводится на varchar, в котором нет этой проблемы.

Вернуться на верх