From baaa00af3d703bfdf8e818e537a2bd565b7ea914 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Sat, 19 Sep 2026 17:30:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 数据库版本迁移与Jenkins自动发布方案.md | 14 +++++++------- 财务管理/openapi/finance-wallet-v1.yaml | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 50ae108..88f1731 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ - [AI 工程执行与协作约束](AI工程执行与协作约束.md):工作区、依赖、Git、部署、数据库、质量门禁和独立任务协作规则。 - [数据库中文注释维护规范](数据库注释维护规范.md):数据库注释口径、职责、迁移流程、自动门禁与实值验收要求。 - [数据库版本迁移与 Jenkins 自动发布方案](数据库版本迁移与Jenkins自动发布方案.md):两人团队自动迁移规划;统一工具入口、自动编号、开发/测试/生产执行分工、单服务迁移范围、漏写迁移检查、Flyway 校验、失败候选修订、发布证据保留、带数据升级演练及实施顺序。 +- [数据库迁移操作手册](../baiyue-firstleg/deploy/sql/数据库迁移操作手册.md):开发者和发布执行人日常使用说明;包含新建、检查、生成清单、测试执行、生产晋级、失败处理和维护规则。 - [生产服务监控告警与无停机发布方案](生产服务监控告警与无停机发布方案.md):容器与外部可用性监控、部署期告警处理、自动恢复、发布通知及滚动/蓝绿发布演进方案。 - [测试环境 Jenkins 部署指南](测试环境Jenkins部署指南.md):测试环境持续部署授权、Job 参数、健康检查与失败处理。 - [阿里云生产环境选型、压测与上线手册](阿里云生产环境选型压测与上线手册.md):ECS/ALB、RDS MySQL、Redis、OSS、Nacos、RocketMQ、压测、高可用、监控、备份与上线清单。 diff --git a/数据库版本迁移与Jenkins自动发布方案.md b/数据库版本迁移与Jenkins自动发布方案.md index fe1e349..e385323 100644 --- a/数据库版本迁移与Jenkins自动发布方案.md +++ b/数据库版本迁移与Jenkins自动发布方案.md @@ -2,7 +2,7 @@ ## 1. 文档状态与目标 -- 状态:已确认采用标准迁移机制与两人团队简化流程;实施细节待验证,工具及流水线尚未启用。 +- 状态:已确认采用标准迁移机制与两人团队简化流程;阶段 B 的范围映射、自动编号和离线检查工具已在测试分支实现,Flyway 执行和 Jenkins 流水线尚未启用。 - 适用环境:开发环境、共享测试环境、国内生产环境、海外生产环境;各环境执行方式见第 10 节。 - 适用数据库:MySQL 8。 - 迁移工具:Flyway。 @@ -36,7 +36,7 @@ | 另一名开发者 | 在现有代码评审中检查 SQL、数据影响及兼容性 | 生成受影响服务清单、验证结果和发布摘要,不再另填发布 JSON | | 发布执行人(可由上述任一人承担) | 测试点击部署;生产选择已通过测试的制品并完成现有发布确认 | 数据库预检、执行待执行迁移、复验、部署镜像、健康检查和归档 | -第一阶段复用现有 Git、Jenkins、Credentials、锁资源和 Flyway 历史表;仅增加一个薄的命令入口及必要流水线阶段。候选记录使用 Jenkins 归档和镜像 digest,不建设独立发布平台、编号服务、审批系统或数据库结构自动同步引擎。 +第一阶段复用现有 Git、Jenkins、Credentials、锁资源和 Flyway 历史表;当前已先落地一个薄的离线命令入口,后续再接必要流水线阶段。候选记录使用 Jenkins 归档和镜像 digest,不建设独立发布平台、编号服务、审批系统或数据库结构自动同步引擎。 **重复执行的是部署入口。已成功的 SQL 自动跳过;数据库有新变化时才新增迁移。** 不要求所有 DDL/DML 写成可无限重放的通用脚本,也不采用“开发测试覆盖 SQL、生产另生成不同升级逻辑”的双轨方式。 @@ -134,14 +134,14 @@ baiyue-firstleg/ └─ db-migrations.mjs ``` -以上为拟建目录,不代表当前仓库已有实现。约束: +目录已在测试分支建立基础骨架;基线包登记、Flyway 执行和流水线接入仍按阶段 A/C 实施。约束: - 一个迁移文件只能修改一个 schema。 - 每个 schema 使用自己的 `flyway_schema_history`。 - 区域初始化包独立执行,不使用 `V...` 文件名,不加入 Flyway 的 `locations`;每次 Flyway 调用只指向一个 schema 的迁移目录与历史表。 - 国内任务不能获得海外数据库连接,海外任务不能获得国内数据库连接。 - 不维护手工 SQL 发布版本文件或每次发布必填的计划 JSON。`migration-scopes.json` 是低频维护的区域、schema、所属服务和迁移顺序映射,不含地址或凭据;增加/移动服务或改变依赖时才调整。 -- 单一工具入口提供 `new/check/plan/run` 四个子命令,打包及清单生成由流水线调用内部能力,不要求开发依次手跑多套脚本。上述路径和命令为拟建接口,当前不可直接执行。 +- 单一工具入口 `deploy/sql/scripts/db-migrations.mjs` 提供 `new/check/plan/run` 四个子命令,打包及清单生成由流水线调用内部能力,不要求开发依次手跑多套脚本。当前 `new/check/plan` 已可离线执行,`run` 只允许 `--dry-run`;真实 Flyway 执行进入阶段 C。 - 服务模块下的 `resources/db/` 可以继续作为最终结构或开发参考,但上线迁移的唯一事实来源必须是 `deploy/sql/migrations/`。 - `baseline/manifest.json` 记录区域初始化包的 SHA-256、schema 清单、结构及必要种子的核对规则;制品内 `release-manifest.json` 绑定本次发布范围、逐库目标及应用兼容条件,具体字段见第 6 节。 @@ -619,7 +619,7 @@ MySQL DDL 可能已隐式提交,不能假定整个文件自动回滚。按以 ## 15. 分阶段实施清单 -本轮确认的是小团队工作方式,尚未完成工具、数据库登记或 Jenkins 改造。第一阶段最小交付为“一份固定范围映射 + 一个命令入口 + 现有 Jenkins 内的自动迁移阶段”,不以文档齐全代替运行完成。 +本轮确认的是小团队工作方式。测试分支已完成第一批离线交付:固定范围映射、自动编号、范围/文件检查、选定服务的发布清单生成和只读计划入口;数据库登记、Flyway 执行及 Jenkins 改造尚未完成。第一阶段完整交付仍为“一份固定范围映射 + 一个命令入口 + 现有 Jenkins 内的自动迁移阶段”,不以文档齐全代替运行完成。 本轮文档评审补项已纳入第 6.2、11.2 节及验收表,可开始阶段 A 的事实整理与阶段 B 的离线实现。首批交付聚焦范围映射、自动编号、离线检查和制品清单;工具版本行为、数据库演练及流水线效果按后续阶段验证,不把“可开工”标为“可生产启用”。 @@ -640,8 +640,8 @@ MySQL DDL 可能已隐式提交,不能假定整个文件自动回滚。按以 ### 阶段 B:建立迁移目录与校验脚本 -- 建立自动整数编号、固定范围映射及生成清单规范,固定 Flyway/MySQL 版本及有效配置。 -- 优先实现新建、离线检查、候选打包和只读执行计划入口;无 SQL 变更不得生成新迁移。数据库执行另按授权接入,不能把计划工具变成隐式执行入口。 +- 建立自动整数编号、固定范围映射及生成清单规范,固定 Flyway/MySQL 版本及有效配置。自动编号、范围映射和清单生成已落地,Flyway 版本固定仍待阶段 C。 +- 优先实现新建、离线检查、候选打包和只读执行计划入口;无 SQL 变更不得生成新迁移。当前已完成这些离线入口,数据库执行另按授权接入,不能把计划工具变成隐式执行入口。 - 建立国内、海外、schema 级目录。 - 增加文件名、版本、路径、禁止语句和历史不可变检查;区分区域归属清单与允许迁移清单,拒绝越界 SQL、缺失依赖及不完整版本链。 - 登记有效结构、种子和测试入口,接入变更与迁移关联检查;编写漏写迁移、单服务范围隔离、空库链、升级链、带数据边界及失败候选修订的测试用例。本阶段只完成离线准备,数据库执行验证进入 C。 diff --git a/财务管理/openapi/finance-wallet-v1.yaml b/财务管理/openapi/finance-wallet-v1.yaml index 81066c5..b1e347b 100644 --- a/财务管理/openapi/finance-wallet-v1.yaml +++ b/财务管理/openapi/finance-wallet-v1.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: 客户资金账户、授信与充值 API - version: 1.1.0 + version: 1.2.0 description: | CNY 资金账户支持静态收款码、付款截图申请、平台审核、手工充扣、限时授信及业务冻结/结算/释放。 授信到期日当天仍有效,次日不再计入可用余额。消费直接扣减实际余额并允许形成负数;实际余额为负时禁止提交新订单。