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 语法和权限问题,确保在修改数据库时备份数据,以防止数据丢失。
➡️