Docker 环境下 umami - prisma migrate deploy 修复方案
前言
博主在维护 Linux 服务器的 umami 数据统计系统时, 在重启 Linux 主机后出现了如下报错: prisma migrate deploy. 经过一番搜寻之后找到了两种可以用来解决的方案, 下面请跟随本教程.
运行环境
- OS: Ubuntu 24.04.1
- App: umami 2.19.0 - Docker
Section 1 - 可以连接 umami shell
若您可以稳定连接上 umami shell, 请根据这部分教程进行操作
注: Docker 默认有主程序退出即重启容器的策略. 因此这种可以稳定连接的情况极其少见.
1.1 重建 migration
- 启动 umami shell, 进入控制台页面.
- 输入如下指令
npx prisma migrate resolve --applied "05_add_visit_id"- 重启 umami
如重启后 umami 启动正常, 则到此结束
Section 2 - 无法连接 umami shell
若您无法稳定连接 umami shell 或根本无法连接, 请根据这部分教程进行操作
2.1 从数据库重建 migration
- 使用
docker ps指令列出容器 - 若您使用的数据库类型为
MySQL, 请输入如下指令以进入数据库 shell
docker exec -it <containerID> mysql -u <userName> -p <databaseName>
containerID- 容器 ID, 即docker ps列表最前面的一串字符串userName- umami 容器使用的用户名databaseName- umami 数据库名称
- 输入密码后进入容器 shell, 并输入以下指令
UPDATE _prisma_migrations
SET finished_at = NOW(), logs = NULL, applied_steps_count = 1
WHERE migration_name = '05_add_visit_id';- 执行完成后输入
exit;退出 shell
2.2 重启 umami
- 重启 umami, 观察是否运行正常. 如运行正常, 则教程结束; 如仍未运行正常, 则输入以下指令
docker exec <containerID> npx prisma migrate resolve --applied "05_add_visit_id"
containerID- umami的容器ID
- 然后再次重启 umami, 如运行正常, 则教程结束
后记
如发现文章中的任何问题, 欢迎广大网友指出, 感谢阅读!
Docker 环境下 umami - prisma migrate deploy 修复方案
https://blog.nanami.tech/archives/134/
第一第一OωO