Wagtail 5.0 -> 5.1 更新失败:非法混合排序规则 (utf8_unicode_ci,IMPLICIT) 和 (utf8_general_ci,IMPLICIT)

问题描述 投票:0回答:1

我将 Wagtail 5.0.3 安装更新到 5.1.3

运行 wagtailcore 的迁移后,我收到此错误:

    python3 manage.py migrate wagtailcore


      File "/usr/local/lib/python3.11/dist-packages/django/db/backends/utils.py", line 84, in _execute
        return self.cursor.execute(sql, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/local/lib/python3.11/dist-packages/django/db/backends/mysql/base.py", line 73, in execute
        return self.cursor.execute(query, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/local/lib/python3.11/dist-packages/MySQLdb/cursors.py", line 179, in execute
        res = self._query(mogrified_query)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/local/lib/python3.11/dist-packages/MySQLdb/cursors.py", line 330, in _query
        db.query(q)
      File "/usr/local/lib/python3.11/dist-packages/MySQLdb/connections.py", line 261, in query
        _mysql.connection.query(self, query)
    MySQLdb.OperationalError: (1267, "Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='")

为什么 Wagtail 5.1.3 无法与我的 MariaDB 数据库配合使用?

我使用Python 3.11和Django 3.2

我必须对我的表格进行哪些更改才能使其适用于 Wagtail?

mariadb wagtail
1个回答
0
投票

解决方案是将所有表更改为相同的排序规则:

我使用此命令来更改排序规则:

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

我不明白为什么我有不同的排序规则。我使用 Django 很多年了,它似乎在某个时候改变了默认排序规则。

© www.soinside.com 2019 - 2024. All rights reserved.