我将 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?
解决方案是将所有表更改为相同的排序规则:
我使用此命令来更改排序规则:
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
我不明白为什么我有不同的排序规则。我使用 Django 很多年了,它似乎在某个时候改变了默认排序规则。