博主头像

人間になりたい!!!!!


皖ICP备2025096275号

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/
本文作者 NanamiAdmin
发布时间 2025-10-23
许可协议 CC BY-NC-SA 4.0
仅有 1 条评论
  1. 评论头像

    第一第一OωO

    Ling October 23rd, 2025 at 07:24 pm Reply
发表新评论