umami迁移到V2
期待已久的 v2 版本终于来了!在此版本中,引入了许多新功能、改进的外观和许多错误修复。对基础架构和库进行了重大更改,以提高性能,并允许将来快速添加新功能。
升个级数据差点丢了😅
有144位+游客看过我的博客了🥰
更新内容
改进的位置信息:除了国家位置外,Umami现在还收集城市和地区信息。
干净的URL链接:以前,Umami会将查询字符串作为页面URL的一部分。现在,我们只显示路径。查询参数仍然可以在“查询参数”部分找到。
页面标题:Umami现在记录页面标题。
团队:新的团队功能允许您与其他用户共享网站,而无需创建共享URL。当用户加入团队时,他们可以选择要与团队共享的网站。
GitHub更新日志:Releases · umami-software/umami (github.com)
官方迁移教程:Migrating v1 to v2 | umami
docker迁移方法
官方有多种安装方法的升级方法,我只介绍docker安装的升级。
注意
使用前备份目标数据库。如果迁移中断,可能会发生潜在的数据丢失。
对于具有较大数据集 (5M+) 的用户,迁移可能需要一段时间。请相应地计划。
该脚本不会将任何事件数据迁移到 v2。
该脚本将询问您是否要在迁移完成后删除 v1 表。
如果发现某个表填充了数据,则该表将被重命名为,但不会被删除。
event_data
v1_event_data
进入容器
docker exec -ti -u 0 umami sh
如果没有命名容器,可以获取容器id替换umami
进入。
docker ps | grep umami-software
docker exec -ti -u 0 容器id sh
运行迁移脚本
npx @umami/migrate-v1-v2@latest
可以选择是否删除V1数据。
我的遭遇
拉取新镜像更新后V1版本的账号密码登陆不上,默认密码也不行,新建一个umamiv2数据库重新初始化吧。
使用adminer把umamiv2数据库中user里的数据手动复制粘贴到老数据库user里,
把umami容器的数据库再改回老的umami重建,可以登陆了,然而一条数据都不显示😅
去数据库一看,website和website_event表里的数据都在,还没丢,就是读不到,再折腾下吧。
website_event表里的数据与website_id挂钩,我的想法是新建个网站,改成老网站的website_id能否行得通。
设置 → 网站 → 添加网站
新建个网站,在数据库website中复制下来老网站的website_id
,粘贴到新网站的website_id
上,因为website_id
不能重复,需要先改老网站的website_id
,随便改个字符就行,再复制created_at
的时间,终于可以正常显示了。跟踪代码好像变了,复制新的粘贴到网页head标签中。
升级成功🥳