🐛 fix(update): 修复 Windows 更新脚本安装失败

Fixes #328
This commit is contained in:
Syngnat
2026-04-11 21:53:52 +08:00
parent fb500ee33b
commit 426ef3bcf6
3 changed files with 82 additions and 13 deletions

View File

@@ -23,7 +23,8 @@
| #318 | mysql,bit 列,修改成 1 失败 | Fixed | `bee78be` |
| #319 | 关于运行外部 sql 文件的一些建议 | Deferred | - |
| #320 | 无法连接达梦数据库 | Investigating | - |
| #327 | SHOW DATABASES 报错 | Fixed | Pending |
| #327 | SHOW DATABASES 报错 | Fixed | `5ac0221` |
| #328 | [Bug] 安装更新失败 | Fixed | Pending |
## Notes
@@ -55,6 +56,12 @@
- 处理:为数据库列表查询增加 `SELECT DATABASE()` 回退,仅保留当前连接库时也能正常展示。
- 验证:补充 `internal/db/mysql_metadata_test.go` 回归测试,覆盖有权限、多库和低权限回退场景。
### #328
- 根因Windows 更新脚本在批处理执行、错误码读取和重启命令上不够稳,`cmd /C start`、LF 行尾和块内 `%ERRORLEVEL%` 在实际环境下容易引发安装失败。
- 处理:更新脚本统一输出为 CRLF块内错误码改为延迟展开旧文件回退路径统一为 `TARGET_OLD`,并将脚本启动方式收敛为 `cmd.exe /D /C call <script>`
- 验证:补充 `internal/app/methods_update_windows_script_test.go`覆盖批处理语法、Win10 回退路径、CRLF 行尾、延迟展开和启动命令构造。
## Next
- 继续处理下一个最早且可直接落地的开放 issue。