fix(migrations): 0005/0006 從來沒進過版控——被 *.sql 規則吃掉,每個用戶都收到「部署物缺」
leo 更新 leo21c 時撞到(他問「部分失敗?」): ✗ D1 migration: 部署物缺 kbdb/migrations/0005_credential_template.sql ✗ D1 migration: 部署物缺 kbdb/migrations/0006_drop_credentials_table.sql (四顆 worker cypher/registry/kbdb/mcp 全部 ✓,失敗的只有這兩個檔) 根因不是誰忘了推:.gitignore:53 的 `*.sql` 是為了擋 D1 匯出備份(整庫全量=機敏), 但它連 migration 一起吃掉。0001-0004 還在,只因為它們在該規則之前就 commit 了 (gitignore 不影響已追蹤檔案)⇒ 0005/0006 從產生那天起就不在任何 clone 裡。 ⇒ 這不是 leo 一台的事:更新指令從 Gitea 抓 main,那兩個檔不在那裡 ⇒ **任何人裝/更新都會收到同一組失敗**,包含全新安裝。 修法照 rules/05-deploy-convention.md「WASM 來源」段已有的慣例 (`.component-builds/**/component.wasm` 就是用否定規則放行的): !kbdb/migrations/*.sql 範圍實測(沒開太大): kbdb/migrations/0005、0006 → 放行 backup-2026.sql / kbdb/backup-x.sql / dump.sql / cypher-executor/export.sql → 仍被擋 進版控前確認過無機敏值:grep 命中的 token/secret/api_key 全是欄位名 (api_key、secret_ref)與註解;無 >=20 位英數的疑似真值。 殘項:leo21c 實查 templates 9 個、credential 不在其中 ⇒ 0005 從未套用, 那台仍停在 D38 之前(credentials 走 0002 的獨立表)。要補套需另跑一次更新。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,14 @@ scripts/__pycache__/
|
||||
# D1 備份/匯出(wrangler d1 export 產物,含整庫全量資料=機敏,絕不 commit)
|
||||
*.sql
|
||||
backup-*.sql
|
||||
# 🔴 但 migration 不是備份,它是**要出貨的程式碼**(2026-08-12 實撞):
|
||||
# 上面那條 `*.sql` 的用意是擋 D1 匯出(整庫全量資料=機敏),卻連 migration 一起吃掉。
|
||||
# 後果:0001-0004 因為在該規則之前就 commit 所以還在,**0005/0006 從此沒進過版控**
|
||||
# ⇒ 更新指令從 Gitea 抓 main,那兩個檔根本不在那裡 ⇒ 每個用戶都會收到
|
||||
# 「✗ D1 migration: 部署物缺 kbdb/migrations/0005…」——**不是誰忘了推,是規則吃掉的**。
|
||||
# ⇒ 與 `.component-builds/**/component.wasm` 同慣例(見 rules/05-deploy-convention.md
|
||||
# 「WASM 來源」段),用否定規則放行。備份檔仍由 `backup-*.sql` 與目錄位置擋住。
|
||||
!kbdb/migrations/*.sql
|
||||
|
||||
# GitHub 公開 mirror 工作目錄(publish-github.sh 產物)
|
||||
.github-public/
|
||||
|
||||
Reference in New Issue
Block a user