From 9b9e7c33ecb99afeec4024afec2be7347e19ceae Mon Sep 17 00:00:00 2001 From: ila Date: Thu, 20 Aug 2026 22:51:27 +0800 Subject: [PATCH] docs: record local environment baseline (#5) --- docs/00-project-profile.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/00-project-profile.md b/docs/00-project-profile.md index 1104416..1f6ecbf 100644 --- a/docs/00-project-profile.md +++ b/docs/00-project-profile.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Project-Profile wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Project-Profile.- -wiki_revision: 4a1a822e3cce84386e80447f0aa05fad92544ce9 -synchronized_at: 2026-08-20T07:03:59Z +wiki_revision: 3bbe90891a4d2bdf0f6af5160f0b687792e0f19f +synchronized_at: 2026-08-20T14:49:59Z # 项目档案 @@ -69,7 +69,7 @@ synchronized_at: 2026-08-20T07:03:59Z | Go | 1.26.5 | 以固定 go-admin 的 `go.mod` 为最低统一版本,不再使用原文档的 Go 1.22+ | | HTTP | Gin | portal 与 admin 共用生态,但 core 不依赖 Gin | | ORM 与迁移 | GORM + golang-migrate | GORM 负责运行期持久化;生产禁止 AutoMigrate | -| 数据库 | MySQL 8.0 | 单库;队列依赖 `SELECT … FOR UPDATE SKIP LOCKED` | +| 数据库 | MySQL 8.0+;当前开发验收为 8.4.8 | 单库;队列依赖 `SELECT … FOR UPDATE SKIP LOCKED` | | 队列 | MySQL 租约 | 不引入 Redis/MQ;租约 token + CAS 防止陈旧 worker 提交 | | 管理端 | 固定 go-admin + go-admin-ui | schema-first 生成 CRUD;生产关闭 dev-tools | | 用户端会话 | alexedwards/scs | Cookie 会话,不复用管理员 JWT | @@ -77,8 +77,15 @@ synchronized_at: 2026-08-20T07:03:59Z | 限流 | ulule/limiter | MVP-2 用户维度令牌桶 | | 上游调用 | `net/http` 适配器 | 支持多图、`extra_body`、URL/Base64 差异,并实施 SSRF 钩子 | | 用户端 UI | html/template + HTMX 2.x + Alpine 3.x + Tailwind 4.x standalone | portal 不需要 Node;admin-ui 构建需要 Node/pnpm | -| 开发环境 | Windows + PowerShell + Git;MySQL 8.0 本地或容器 | Harness 使用 Python 3 标准库 | +| 开发环境 | Windows + PowerShell + Git;本机隔离 MySQL 8 | Harness 使用 Python 3 标准库;Chorus 专用实例使用回环地址和独立端口/数据目录 | +### 已验证的 MVP-0 本机基线(2026-08-20) + +- Go 使用官方 Windows amd64 压缩包固定为 1.26.5;SHA-256 为 `97e6b2a833b6d89f9ff17d25419ac0a7e3b482a044e9ab18cdef834bd834fd38`。便携工具目录加入当前开发 Shell 的 `PATH`,不替换机器已有 Go。 +- `golang-migrate` 固定为 v4.19.1;Windows amd64 发布资产 SHA-256 为 `d2537dfd991787c1e458965c4f49098c5a72f943bfc9d975c573a9c245f7ba2e`。 +- 开发数据库复用本机 MySQL 8.4.8 二进制,但使用 Chorus 专用数据目录、`127.0.0.1:3308` 和独立账号/库;现有 `3307` 实例和 MySQL 5.7 服务均不修改。 +- 本机凭据由仓库外、仅当前账号可读的 PowerShell 环境文件注入;Wiki、工单、Git 和日志只记录变量名,不记录密码或完整 DSN。 +- 已验证实例停止/重启、最小权限连接以及 `SELECT ... FOR UPDATE SKIP LOCKED`。这只证明开发环境可用,不代表生产部署已经验证。 ### AutoMigrate 与代码生成结论 - go-admin 固定提交的 `cmd/migrate` 和模板中确有 AutoMigrate;它适合帮助理解脚手架初始化结构,但不是可审查、可回退的生产迁移。