umami 升级记 — 能跑千万别折腾

💡 原文中文,约7900字,阅读约需19分钟。
📝

内容提要

本文讲述了升级umami时遇到的问题和解决方法,包括两种错误提示和相应的解决方案。第一种错误可通过命令回滚解决,第二种错误需修改数据库文件中的代码。文章提供了具体的修改方法和注意事项。作者总结了升级过程的繁琐性和对SQL的不熟悉所带来的困扰。

🎯

关键要点

  • umami 提示新版本,尝试升级时遇到错误。
  • 第一种错误可以通过命令回滚解决。
  • 第二种错误因 MySQL 8 以下缺少函数 BIN_TO_UUID,需要修改数据库文件。
  • 提供了具体的修改方法和注意事项,包括修改 migration.sql 文件。
  • 创建 UUIDv4 函数时可能遇到权限问题,需要修改 my.cnf 文件。
  • 在数据库中处理列名修改失败的问题。
  • 总结升级过程繁琐,SQL 不熟悉带来的困扰。

延伸问答

升级 umami 时遇到的常见错误有哪些?

常见的错误有 P3009 和 P3018,分别是迁移失败和缺少函数 BIN_TO_UUID 的错误。

如何解决 umami 升级中的 P3009 错误?

可以通过命令回滚解决,使用命令 npx prisma migrate resolve --rolled-back 05_add_visit_id。

在 MySQL 8 以下如何处理缺少 BIN_TO_UUID 函数的问题?

需要修改 migration.sql 文件,将 BIN_TO_UUID 替换为 UUIDv4,并创建 UUIDv4 函数。

升级 umami 时如何修改 my.cnf 文件?

在 my.cnf 文件中添加 log_bin_trust_function_creators = 1,然后重启数据库。

如果在数据库中修改列名失败,该怎么办?

可以直接在数据库管理工具中修改列名,或者将列名改为其他名称后再执行。

升级 umami 的过程有什么注意事项?

注意 SQL 语法和权限问题,确保在修改数据库时备份数据,以防止数据丢失。

➡️

继续阅读