-
Notifications
You must be signed in to change notification settings - Fork 50
[Deactivated]从旧版本迁移(v0.8.2 to v0.9)
nonebot2 从 a16 到 b1 有较大变化,本项目也借此机会进行了一次重构
由于重构时对数据库进行了较大幅度的表结构调整,因此从 v0.8.2 升级到 v0.9 不支持覆盖升级,也请不要直接覆盖升级,避免导致数据库出现不可预料的错误与数据丢失
也是由于数据库表结构调整的原因,迁移工具仅会保留并迁移以下信息:
- Bot 基础信息
- 订阅源信息
- 邮箱信息
- 群组基础信息(包含命令权限/权限等级,不含权限节点)
- 群组订阅内容
- 群组绑定邮箱
- 用户基础信息(包含命令权限/权限等级,不含权限节点)
- 用户订阅内容
- 用户签到信息(包含好感度/能量/签到历史)
其中需要您注意的是用户签到信息,若您在之前的版本中对接了多个协议端,则这几个协议端的签到信息是共用的,在本次数据迁移后,每个协议端都将获得当前签到信息的一份副本,此后每个协议端的签到信息都将独立计算,即迁移后签到信息将会“分叉”
除去以上说明将会保留的信息外,其余数据库信息将不会被保留和迁移
您已经阅读了以上说明并知悉了将会被迁移的数据内容
请将您的数据库完整地进行备份,保证能直接恢复到迁移前的状态
请将您的数据库完整地进行备份,保证能直接恢复到迁移前的状态
请将您的数据库完整地进行备份,保证能直接恢复到迁移前的状态
确认您的 omega-miya 版本为 v0.8.2,若您的当前版本低于 v0.8.2,请直接覆盖升级到 v0.8.2
下载数据导出工具包(export-tool-from-v0.8.2.a16.zip)
-
将
export-tool-from-v0.8.2.a16.zip
解压后,直接覆盖到原项目位置上,替换原有的bot.py
文件及omega_miya
文件夹 -
准备完成后,运行
bot.py
,并开始数据导出,该步骤根据用户数量耗时 1~10 分钟或更长 -
待日志输出
[Success]... All output processing completed
即表示导出操作已完成,检查导出过程日志,若有Error
则可能部分输出导出不成功,可以尝试重新上述步骤,若依然有错误,可以发 issue 请求帮助 -
上述步骤完成后,在项目路径
omega_miya/output/
中应当可以找到 6 个保存有导出数据的 json 文件:sub_source.json
bot_self.json
user_data.json
mail_box_data.json
bot_group_data.json
bot_friend.json
,将这 6 个 json 复制并保存到安全的位置
-
复制
.env
.env.prod
到其他安全位置,便于配置新版本 -
完全删除当前版本项目文件
-
安装新版本: v0.9,配置时可以参考之前的
.env
.env.prod
文件对照修改 -
完成安装后先运行一次 bot,确保运行正常且成功初始化了数据库表结构
-
打开项目目录,定位到项目目录
omega-miya/tools/
,将该目录中的import_old_version_data
文件夹整个一起复制到omega-miya/plugins/
目录中 -
将 Step.3 中导出的
sub_source.json
bot_self.json
user_data.json
mail_box_data.json
bot_group_data.json
bot_friend.json
这 6 个 json 文件复制到omega-miya/plugins/import_old_version_data/
目录中 -
运行
bot.py
,并开始数据导入,该步骤根据之前导出的数据量耗时 2~20 分钟或更长 -
待日志输出
[Success]... All import processing completed
即表示导入操作已完成,检查导入过程日志,若有Error
则可能部分输出导入不成功,可以尝试重新上述步骤,若依然有错误,可以发 issue 请求帮助 -
确认导入数据无误后,即可删除
omega-miya/plugins/import_old_version_data/
整个目录
以上操作都成功完成后,迁移就算成功了,您可以连接协议端检查群组和用户信息是否正常,若存在数据异常可以使用备份的数据库恢复后再次尝试迁移,若依然有问题请发 issue 请求帮助