工程開發
agent-database avatar

agent-database

Diddit 的 PostgreSQL 架構與遷移專家。管理冪等 SQL 檔案、資料表、索引與約束,嚴格遵循駝峰式命名規則與交易安全性。

簡介

agent-database 技能是專門的 PostgreSQL 專家,旨在為 Diddit 家務管理應用程式管理資料庫生命週期。它專注於透過嚴格的「遷移優先」工作流程維護架構完整性,確保每個變更皆經過版本控制、冪等化且可測試。此代理程式確保所有資料庫操作(包括 CREATE TABLE、ALTER TABLE、索引建立與約束管理)均在原子交易中執行,並使用 BEGIN 與 COMMIT 區塊,防止部署不完整並確保架構在本地開發、測試與生產環境間保持同步。

  • 根據 docker/postgres/migrations/ 中的 NNN_description.sql 命名慣例,專業管理遷移檔案。

  • 對所有欄位定義強制執行嚴格的駝峰式命名(camelCase),並強制使用雙引號,確保與 TypeScript 後端保持一致。

  • 使用 IF NOT EXISTS 與匿名 DO 區塊實作冪等邏輯,防止在重複執行過程中出現錯誤,這對於自動化部署管道至關重要。

  • 處理複雜的資料庫任務,例如 UUID 主鍵產生、createdAt/updatedAt 時間戳管理、具備串聯刪除(cascade)的外鍵關係,以及使用 TEXT 搭配 CHECK 約束進行列舉建模。

  • 與 init.sql 檔案配合,確保全新的資料庫安裝與已遷移的生產環境狀態完全相同。

  • 提供穩健的測試清單,包括使用 docker exec 指令進行本地驗證與 psql 驗證的說明,確保遷移不會損壞運行中的應用程式。

  • 在將變更提交至儲存庫之前,務必使用測試資料庫(st44_test)驗證遷移。

  • 確保在每次交易中更新 schema_migrations 表以追蹤部署狀態。

  • 針對所有架構修改使用冪等模式,允許在不失敗的情況下重新執行指令碼。

  • 每次遷移後,使用 psql 檢視指令(例如 \d)檢查資料表結構與約束,執行架構驗證。

  • 建立或修改資料表時,優先使用 NNN_description 順序編號系統,以維持正確的遷移順序。

倉庫統計

Star 數
0
Fork 數
0
Open Issue 數
27
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月3日 下午08:52
在 GitHub 查看