首页 > 解决方案 > Kiwi-tcms v8.0 数据库迁移问题与测试运行

问题描述

我刚刚将 Kiwi tcms 从服务器 A 上的 v7.1 迁移到服务器 B 上的 v8.0(我虚拟化了我们的应用程序服务器)。

我为数据库使用 pgsql 容器。

对于迁移,我使用了备份恢复方法。

服务器 B 上的数据库卷是全新的,我使用创建了架构/Kiwi/manage.py migrate

然后我恢复了.json。但是由于主键v8.0的变化,我遇到了架构问题。我刚刚在 json 文件中用新名称替换了旧名称,并且恢复通过了。

该应用程序运行良好,只是当我进入“搜索测试运行”页面时,我现在遇到了测试运行问题:

DataTables 警告:表 id=resultsTable - 请求第 0 行第 0 列的未知参数“run_id”。有关此错误的更多信息,请参阅http://datatables.net/tn/4

我不确定我在迁移过程中是否犯了任何错误,或者迁移过程中是否确实存在错误。

有关信息:我尝试在 v7.3 中的测试容器上迁移 v8.0 中的数据库。一切都很顺利,但最后我遇到了同样的问题。

预先感谢您的支持!

编辑 1

我按照@Alexander Todorov 的建议解决了我的问题,并从头开始迁移步骤:

  1. 我在我的 docker 注册表上上传了 kiwi 7.1 的图像,所以我使用 kiwi 7.1 迁移到了我的服务器 B。现在我可以专注于升级了。

  2. 我使用 pgsql 容器,所以在迁移之前我不需要更新 mariadb 容器。

  3. 我使用 kiwitcms/kiwi:latest 映像升级到 kiwi 8.0。

我不知道为什么从 7.3 版本升级第一次没有成功,但从 7.1 到 8.0 一切都很好。

我可能是从 7.1 备份并在 7.3 上恢复的。目前使用 7.3 一切都很好,但我在迁移到 8.0 时遇到了麻烦......

无论如何,感谢您的支持!

编辑 2

我不知道这怎么可能,但是我无法在另一个实例上重现完全相同的迁移。我每次尝试都会遇到问题。

我现在拥有的:

我想要的是:

我尝试了什么:

DataTables 警告:表 id=resultsTable - 请求第 0 行第 0 列的未知参数“run_id”。有关此错误的更多信息,请参阅http://datatables.net/tn/4

我真的对此一无所知:/

标签: kiwi-tcms

解决方案


我刚刚将 Kiwi tcms 从服务器 A 上的 v7.1 迁移到服务器 B 上的 v8.0(我虚拟化了我们的应用程序服务器)。

这就是导致你的问题的原因。您正在尝试将一个版本的数据库架构 + 数据恢复到另一个版本(在第二台服务器上)。在这两个版本之间有相当多的数据库迁移,您尝试做的事情总是会导致失败。

您可以使用服务器 A 并就地升级到最新版本,然后转储数据,移动到服务器 B(具有相同版本)并将数据恢复到干净的 DB 并停用服务器 A。

您也可以将服务器 B 设置为具有旧版本的 Kiwi TCMS,将数据迁移到那里,然后将服务器 B 升级到 v8.0。


推荐阅读