Memos 降级 0.18.1 指南
前因
我个人原因总喜欢把程序升级到最新版本(无脑小白鼠)包括但不限于手机系统,服务器系统,各种软件APP,开始就因为个人比较喜欢使用Mysql,方便管理,几乎所有的程序在能通过Mysql部署的前提下就都是通过的Mysql部署的。
起初以为是没有使用Memos默认的SQLite数据库部署导致的加载缓慢(远程数据库总会比本地的稍微慢丢丢),无脑冲了最新的0.20.0,截至写文前我看貌似发版被撤回了,刚好前几天服务器面板由臃肿菜鸡塔换到了1Panel,用Memos默认配置搭建测试了下,首页加载任然特别慢,打开网络活动才看到首页加载了一个封装好的 gomark 库,文件比较大平均加载耗时约15ms左右。
习惯性的点开了大佬们的博客,看到木木dalao的版本任然停留在0.18.1,加上最新的改版也少了比较多功能,越用越不习惯,于是动了版本回退的想法。
昨天起初没有发表日记,将docker镜像由0.20.0改为0.18.1,成功退回0.18.1,看了大佬们的退回方法才发现要改动数据库因为我是Mysql以为就没啥事了,就没进行修改,在今天早上准备发日记的时候发现无法发送。
数据库备份
在前几天更换服务器系统的时候就有备份,加上每天都有定时的oss同步备份,因为昨天对网站个性化进行了一些修改,还是对数据库进行了备份操作,在进行任何修改前一定要备份,一定要备份,一定要备份,一定要!!!
修改数据表
原因是因为新版本增加了两条索引idx_memo_resource_name
和 idx_resource_resource_name
分别在memo
和resource
表中。
20240224
更新:中午在给Memos添加Telegram Bot时发现无法正常添加使用,在仔细对比0.20.0和0.18.1数据表时发现多了一张reaction
表,另外system_setting
表中多了条低版本没有的记录memo-display-with-updated-ts
memo
查看memo
表中索引是否存在
SHOW INDEXES FROM memo; |
使用DROP INDEX
语句来删除索引
DROP INDEX idx_memo_resource_name ON memo; |
索引idx_memo_resource_name
已成功从memo
表中删除。
使用ALTER TABLE
语句来删除memo
表中resource_name
列
ALTER TABLE memo DROP COLUMN resource_name; |
resource
查看resource
表中索引
SHOW INDEXES FROM resource; |
使用DROP INDEX
语句删除索引
DROP INDEX idx_resource_resource_name ON resource; |
使用ALTER TABLE
语句来删除resource
中的resource_name
列
ALTER TABLE resource DROP COLUMN resource_name; |
reaction
首先查看数据库中reaction
表是否存在
SHOW TABLES; |
删除reaction
表
DROP TABLE reaction; |
system_setting
查看system_setting
表中name
列的记录
SELECT name FROM system_setting; |
删除memo-display-with-updated-ts
这条记录
DELETE FROM system_setting WHERE name = 'memo-display-with-updated-ts'; |
完成上述操作后,建议再重新拉一下镜像。
写在最后
大功告成,目前已经成功从 0.20.0 降级到了 0.18.1,因为目前关于 Memos 如何降级的资料非常少,所以这里分享一下基于Mysql我的操作过程,希望能帮到有需要的小伙伴。