0

我已使用 Django 3.1.13 将 Wagtail 安装升级到 2.15.1

当我运行manage.py migrate时出现错误

django.db.utils.OperationalError:没有这样的模块:fts5

我已搜索但找不到任何解决此问题的方法

有人可以帮忙吗?

这是发生错误时在django/db/backends/sqlite3/base.py中运行的代码

class SQLiteCursorWrapper(Database.Cursor):
    def execute(self, query, params=None):
        if params is None:
            return Database.Cursor.execute(self, query)

它失败了

            return Database.Cursor.execute(self, query)

查询的最后 3 个值是

 CREATE VIRTUAL TABLE wagtailsearch_indexentry_fts USING fts5(autocomplete, body, title)
 PRAGMA foreign_key_check
 PRAGMA foreign_keys = ON

失败发生在最后一个

4

2 回答 2

0

问题出在鹡鸰

我从站点 wagtail 包中删除了迁移文件夹并运行makemigrationsmigrate。它现在有效

于 2021-11-22T16:55:08.830 回答
0

这是与不提供fts5扩展的 sqlite 版本的兼容性问题,现在已在Wagtail 2.15.2中修复。

(旧资料,留作参考:)

这是一个开放的 Wagtail 问题,目前正在https://github.com/wagtail/wagtail/issues/7798处理。

现在,您需要确保系统上安装的 sqlite 版本带有fts5扩展。对于 Mac 和 Windows,这很可能与 Python 安装程序捆绑在一起,所以这不是问题。对于 Linux,这取决于发行版 - Ubuntu 18.04 有,16.04 没有。请参阅如何在 Ubuntu 16.04 上使用带有 Python 3.7 的 sqlite3 python 模块的 FTS5 扩展?有关如何升级的详细信息。

于 2022-01-07T17:19:26.613 回答