如何迁移数据库?
在初始化 Koishi 实例时,koishi会使用默认的 SQLite 数据库。
或者,你可能已经使用了一段时间,不希望丢弃已有的数据库内容。
因此便产生了这样的需求:
我们希望在不重建实例的前提下,将所有数据迁移到另一个数据库,也就是更换数据库服务。
例如,可能会遇到如下的情况:
那么,如何实现迁移呢?
首先,本教程仅讨论目前插件市场已有的数据库服务的迁移。
本文以
database-jsondb为例进行演示。
这里我们需要使用 migrate-database 插件。
请前往插件市场,安装 migrate-database 插件以及你需要的其他任意数据库服务插件(暂时无需启用该插件)。
本教程以
database-jsondb为例进行演示。
到目前为止,你应该仍然启用着默认的 database-sqlite 插件。
现在开始迁移。
在数据库分组中,添加一个子分组:
添加迁移数据库插件:
添加你希望使用的数据库服务插件:
启用迁移插件:
你可以根据提示,取消选择不需要迁移的表。
默认情况下所有表均为选中状态,这里我们直接点击最下方的【开始迁移】即可。
迁移完成后,关闭该插件:
关闭默认的 database-sqlite 服务插件。
注意:此处必须先关闭已有的数据库服务,再启用新的服务。否则系统会提示数据库服务已被注册,导致新启用的插件无法生效。
启用刚才与迁移插件位于同一分组的数据库服务插件:
你可以直观检查数据是否存在明显异常:
也可以通过一些指令测试数据库功能是否正常,例如使用签到类插件进行验证。









