104 lines
5.9 KiB
Markdown
104 lines
5.9 KiB
Markdown
# 操作留痕(Codex)
|
||
|
||
- 时间:2025-11-01 19:35(UTC+8)
|
||
- 动作:修改 Dockerfile 创建应用用户命令
|
||
- 位置:Dockerfile(运行阶段“创建应用用户和目录”)
|
||
- 变更:将原使用 addgroup/adduser 的写法替换为兼容 Debian/Ubuntu 与 Alpine 的健壮分支逻辑(优先使用 `groupadd/useradd`,回退到 `addgroup/adduser` 并按是否支持 `--gid` 区分参数)。
|
||
- 目的:修复构建阶段报错“Option g is ambiguous (gecos, gid, group)”,避免不同基础镜像工具链参数差异导致失败。
|
||
- 工具:apply_patch(补丁写入)
|
||
- 结果:补丁应用成功,建议以 `docker build --no-cache` 重新构建验证。
|
||
|
||
- 时间:2025-11-01 19:40(UTC+8)
|
||
- 动作:修复部署脚本 archive-manager.sh 镜像检查逻辑
|
||
- 位置:archive-manager.sh(deploy_app 函数)
|
||
- 变更:新增 `image_exists` 检查,通过 `docker image inspect` 判断本地镜像是否存在;若不存在,`deploy` 流程自动调用 `build_image` 进行构建,避免 `docker compose up` 因尝试拉取远端镜像而失败(镜像找不到)。
|
||
- 目的:解决部署时报“镜像找不到”的问题,提升一键部署体验。
|
||
- 工具:apply_patch(补丁写入)
|
||
- 结果:补丁应用成功,可通过 `./archive-manager.sh deploy <目录>` 直接部署,首次会自动构建镜像。
|
||
|
||
- 时间:2025-11-18 17:43(UTC+8)
|
||
- 动作:按环境调整日志输出配置
|
||
- 位置:src/main/resources/logback-spring.xml
|
||
- 变更:新增 springProfile 分支,开发环境仅输出控制台,生产环境写入与 Dockerfile 一致的 `/app/logs` 并保留分级 RollingFileAppender。
|
||
- 目的:满足开发环境不落盘、生产环境落盘且目录对齐容器目录的需求。
|
||
- 工具:apply_patch(重写配置文件)
|
||
- 结果:配置已更新,可通过启动 dev/prod Profile 验证控制台与落盘行为。
|
||
|
||
- 时间:2025-11-18 17:46(UTC+8)
|
||
- 动作:修复 logback 配置解析错误
|
||
- 位置:src/main/resources/logback-spring.xml
|
||
- 变更:将 springProfile 条件中的逻辑与符号转义为 `&`,解决 XML 解析报错(“实体名称必须紧跟在 & 后面”)。
|
||
- 目的:确保 logback-spring.xml 能被 Spring Boot 正常加载。
|
||
- 工具:apply_patch(补丁写入)
|
||
- 结果:配置已更正,可再次启动验证。
|
||
|
||
- 时间:2025-11-18 18:00(UTC+8)
|
||
- 动作:调整 OperatorTable 读取数据源方式
|
||
- 位置:src/main/java/com/point/strategy/table/OperatorTable.java
|
||
- 变更:不再从固定 application.properties 读取数据源,改为注入 Spring Environment,通过激活的 profile 动态获取 `spring.datasource.*`,并在未配置时抛出明确异常;保持现有静态方法接口,内部连接创建随当前 yml 生效。
|
||
- 目的:保证建表 DDL 能使用当前激活配置的数据库连接,解决 dev/prod yml 下无法建表的问题。
|
||
- 工具:apply_patch(补丁写入)
|
||
- 结果:已更新,可在激活对应 profile 后尝试新增门类触发表创建。
|
||
|
||
- 时间:2025-11-20 09:45(UTC+8)
|
||
- 动作:定位 productSalesDocking 方法
|
||
- 工具:shell(rg -n "productSalesDocking" src/main/java/com/point/strategy/oaDocking/controller/ArchivesUploadController.java)
|
||
- 输出:找到方法起始行 1136,确认分析范围
|
||
|
||
- 时间:2025-11-20 09:45(UTC+8)
|
||
- 动作:查看方法周边 1100-1400 行
|
||
- 工具:shell(sed -n '1100,1400p' src/main/java/com/point/strategy/oaDocking/controller/ArchivesUploadController.java)
|
||
- 输出:截取方法上半段,记录日志与统计逻辑
|
||
|
||
- 时间:2025-11-20 09:46(UTC+8)
|
||
- 动作:扩展读取 1170-1900 行
|
||
- 工具:shell(sed -n '1170,1900p' src/main/java/com/point/strategy/oaDocking/controller/ArchivesUploadController.java)
|
||
- 输出:获取循环处理逻辑但输出较大被截断
|
||
|
||
- 时间:2025-11-20 09:46(UTC+8)
|
||
- 动作:聚焦 1500-1700 行
|
||
- 工具:shell(sed -n '1500,1700p' src/main/java/com/point/strategy/oaDocking/controller/ArchivesUploadController.java)
|
||
- 输出:查看 100 列组装逻辑
|
||
|
||
- 时间:2025-11-20 09:47(UTC+8)
|
||
- 动作:尝试用 python 截取完整方法
|
||
- 工具:shell(python - <<'PY' ...)
|
||
- 输出:命令失败,提示 python: command not found
|
||
|
||
- 时间:2025-11-20 09:47(UTC+8)
|
||
- 动作:使用 python3 重试提取方法
|
||
- 工具:shell(python3 - <<'PY' ...)
|
||
- 输出:成功导出方法文本,但因输出限制被截断
|
||
|
||
- 时间:2025-11-20 09:48(UTC+8)
|
||
- 动作:定位 LIMIT 10 语句行号
|
||
- 工具:shell(rg -n "LIMIT 10" src/main/java/com/point/strategy/oaDocking/controller/ArchivesUploadController.java)
|
||
- 输出:确认 1230/1232 行存在 LIMIT 10
|
||
- 时间:2025-11-20 09:49(UTC+8)
|
||
- 动作:查看 LIMIT 相关代码行号
|
||
- 工具:shell(nl -ba src/main/java/com/point/strategy/oaDocking/controller/ArchivesUploadController.java | sed -n '1205,1245p')
|
||
- 输出:确认 totalPending 统计与 LIMIT 10 取数位于 1206-1233 行
|
||
- 时间:2025-11-20 09:52(UTC+8)
|
||
- 动作:移除 productSalesDocking 中的 LIMIT 10 限制
|
||
- 工具:apply_patch(编辑 src/main/java/com/point/strategy/oaDocking/controller/ArchivesUploadController.java)
|
||
- 输出:删掉取数 SQL 的 LIMIT 10,保留 biz_date 过滤与排序,确保一次性读取全部数据
|
||
- 时间:2025-11-20 09:42(UTC+8)
|
||
- 动作:检查 .claude 目录
|
||
- 工具:shell(ls .claude)
|
||
- 输出:目录不存在,返回 "ls: .claude: No such file or directory"
|
||
|
||
- 时间:2025-11-20 09:43(UTC+8)
|
||
- 动作:列出仓库根目录文件
|
||
- 工具:shell(ls)
|
||
- 输出:记录仓库根目录下的主要文件和目录
|
||
|
||
- 时间:2025-11-20 09:44(UTC+8)
|
||
- 动作:查看 operations-log.md 内容
|
||
- 工具:shell(cat operations-log.md)
|
||
- 输出:阅读历史留痕,确认记录格式
|
||
|
||
- 时间:2025-11-20 09:44(UTC+8)
|
||
- 动作:查询当前系统时间
|
||
- 工具:shell(date '+%Y-%m-%d %H:%M:%S %Z')
|
||
- 输出:2025-11-20 09:44:48 CST
|