前言

是的没错,发生这样的事情,应该很多Umami只要是v2.2版本应该都遇到了。

Umami v2.2 Something went wrong.

我浏览了部分 issues 只能升级到v2.3版本了。

环境

我先说一下我自己的环境,我自己的使用:

  1. 属于编译安装,没有放在docker
  2. Mysql 5.7
  3. nodjs 18.16.0
  4. npm 9.5.1

正文

解决办法有两种,第一种你可以直接尝试升级到MySQL 8.0,如果你想继续和我一样,小鸡的配置不行还想用5.7,请继续往下看。

如果你是和我一样都是Mysql 5.7版本,你需要查看这篇 issues 或者继续往下看。

  1. 你需要从GitHub 拉去一份最新的Umami 的代码,你需要找到db/mysql/migrations/02_report_schema_session_data文件夹下的migration.sql这份sql文件,将下面的代码替换和保存。
1
2
3
4
5
ALTER TABLE `event_data` CHANGE `event_data_type` `data_type` int unsigned NOT NULL;
ALTER TABLE `event_data` CHANGE `event_date_value` `date_value` timestamp NULL;
ALTER TABLE `event_data` CHANGE `event_id` `event_data_id` varchar(36) NOT NULL;
ALTER TABLE `event_data` CHANGE `event_numeric_value` `number_value` decimal(19, 4) NULL;
ALTER TABLE `event_data` CHANGE `event_string_value` `string_value`varchar(500) NULL;

终于我遇到的问题,你需要备份原来的 Umami 数据库,然后创建一个新的数据库,讲数据源配置在.env里面,不然通过初始化数据库。

  1. 然后你需要在终端中运行这段命令npx prisma migrate resolve --rolled-back "02_report_schema_session_data"

  2. 重新部署,请看 https://umami.is/docs/install

引用

Umami 的GitHub issues :https://github.com/umami-software/umami/issues/2118