如何迁移数据库

如何迁移数据库?

在初始化 Koishi 实例时,koishi会使用默认的 SQLite 数据库。

或者,你可能已经使用了一段时间,不希望丢弃已有的数据库内容。

因此便产生了这样的需求:

我们希望在不重建实例的前提下,将所有数据迁移到另一个数据库,也就是更换数据库服务。

例如,可能会遇到如下的情况:


那么,如何实现迁移呢?


首先,本教程仅讨论目前插件市场已有的数据库服务的迁移。

本文以 database-jsondb 为例进行演示。


这里我们需要使用 migrate-database 插件。

请前往插件市场,安装 migrate-database 插件以及你需要的其他任意数据库服务插件(暂时无需启用该插件)。

本教程以 database-jsondb 为例进行演示。

到目前为止,你应该仍然启用着默认的 database-sqlite 插件。


现在开始迁移。

在数据库分组中,添加一个子分组:

添加迁移数据库插件:

添加你希望使用的数据库服务插件:

启用迁移插件:

你可以根据提示,取消选择不需要迁移的表。

默认情况下所有表均为选中状态,这里我们直接点击最下方的【开始迁移】即可。

迁移完成后,关闭该插件:

关闭默认的 database-sqlite 服务插件。

注意:此处必须先关闭已有的数据库服务,再启用新的服务。否则系统会提示数据库服务已被注册,导致新启用的插件无法生效。

启用刚才与迁移插件位于同一分组的数据库服务插件:


你可以直观检查数据是否存在明显异常:

也可以通过一些指令测试数据库功能是否正常,例如使用签到类插件进行验证。


3 个赞

膜拜大学

1 个赞