Skip to content

fix(dev): 报告 Preview 部分交付并执行数据库业务回归 - #154

Merged
xiaoland merged 2 commits into
mainfrom
feat/preview-validation-dx
Oct 22, 2026
Merged

xiaoland merged 2 commits into
mainfrom
feat/preview-validation-dx

Conversation

@xiaoland

@xiaoland xiaoland commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

改变后的行为

Preview 失败时也汇总 Registry、数据库初始化、进程 release、Peer 广告和探测结果,并保留初始化前后实际 migration head。Registry 已发布但迁移失败时,开发者能看出部分交付与尚未取得的运行观察;Core 镜像同时写入目标源码 SHA。

新增显式 pdm run test:database,CI 在自身临时 PostgreSQL 初始化后执行已选业务场景。缺少数据库输入时立即失败,真实 AI/IMAP 等专项继续独立执行。

实际启用该组后修复两处测试准备问题:RSS 显式启动 Job runtime;Memos 在随机命名的独占历史数据库中验证附件 revision 往返与应用下载,避免先回退整条后续迁移链。失败后的内容/关系/blob 保全断言仍保留。未修改任何已部署迁移。

验证

  • pdm run check:格式、lint、数据库边界和类型检查通过;默认 pytest 90 passed、60 skipped。
  • 新的独占 PostgreSQL 业务入口:44 passed(43.64 秒),未跳过;Memos 历史数据库结束后清理。
  • 最新提交的 CI 业务组:44 passed(10.22 秒)。独立审查发现的通用连接 URL 问题已修复;postgresql:// 下两项历史迁移测试通过,历史库残留 0。
  • 模拟提供者的 CLI 回归验证迁移失败后保留 head、保留原返回码、报告 Registry 成功/运行时失败且不输出凭据。
  • 修改的工作流通过 actionlint,shell 通过 bash -n。
  • 本 PR 的独占 Preview 与 TS 交接专项 实跑:旧 Web 快照与最终快照各 2 passed(各 2.7 分钟),原生写入、索引、真实 MF、新页持久读回通过;停用原生分发时在写前明确拒绝,随后恢复。未操作其他 Preview。

风险、恢复与交付

新业务组只允许可丢弃数据库,其中 Memos fixture 需要该独占 PostgreSQL 的创建数据库权限。当前业务库不会被该 fixture downgrade;完整历史 downgrade 链不属于这组附件证据。

Preview controller 读取受信任 main,本次报告逻辑在合并后用于后续交付。现有 PR151 及其数据未重建。保留状态升级和新 PR/基线环境是明确的两条恢复路径,不自动 reset 或回滚。

本 PR 没有产品数据库迁移或正式包发布意图;回滚为撤销本 PR。无父/子 PR 依赖。

- 记录候选、迁移前后状态和未执行阶段

- 在独占 PostgreSQL 运行显式业务集并修复准备条件

- 保留既有迁移文件和状态恢复边界
- 普通 PostgreSQL URL 使用既有 psycopg 规范化,避免建库后构造 engine 失败
@xiaoland
xiaoland merged commit 6e9a3ff into main Oct 22, 2026
7 checks passed

This branch was successfully deployed

1 active deployment
preview — b7ffc8ae Deployed Oct 22, 2026 by xiaoland via Retire preview resources #494
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant