Files
yingfungsolar/migrations/AGENTS.md
T
2026-09-11 15:49:41 +08:00

1.5 KiB
Raw Blame History

migrations/AGENTS.md

Purpose

Cloudflare D1 的 schema migration 同種子資料。

Ownership

  • 擁有 migrations/ 全部 SQL、migrations/meta/seed.sql
  • Drizzle schema 定義喺 src/db/schema.ts(見 src/db/AGENTS.md)。

Local Contracts

  • Migration 由工具產生0000_*.sql0001_*.sqlnpm run db:generatedrizzle-kit)依 schema.ts 產生;migrations/meta/ 係產生檔。唔好手改呢啲檔或 meta。
  • seed.sql 係手寫、獨立於 migration:全部用 INSERT OR REPLACE,可重複執行。db:migrate 唔會執行 seed。
  • 指令(本機用 :local,雲端省略):
    • npm run db:generate — 由 schema 產生 migration
    • npm run db:migrate:local / npm run db:migrate — 套用 migration
    • npm run db:seed:local / npm run db:seed — 匯入種子
  • Seed 內容:公司資料(site_settings)、首頁內容(content_itemsservice/feature/step/faq)、cases、一篇示範 posts
  • DB 名稱 yingfung-solar-dbbinding 喺 wrangler.jsoncdatabase_id 仍係佔位,部署前要填)。

Work Guidance

  • 改 schema → 先 db:generate,再 db:migrate:local;改 seed → 直接 db:seed:local
  • 新增 setting key 時同步更新 src/data/settings-fields.ts

Verification

  • npm run db:migrate:local && npm run db:seed:local,再用 npm run db:studio 或 SQL 查證。
  • npm run build

Child DOX Index

無。