# 操作留痕(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 后尝试新增门类触发表创建。