Next.js 14 + Drizzle/PostgreSQL + SSE realtime sync — highlight, freehand, comment, bookmark + ฟีเจอร์ต่อยอด F1–F19 (edit/move, undo/redo, shapes, redaction, export PDF/CSV, reply, resolve, search, summary, textbox, stamp, version history) Co-Authored-By: Claude Code <noreply@anthropic.com>
1.9 KiB
1.9 KiB
name: sync-db description: Sync Drizzle schema ลง PostgreSQL container judes-note-db + seed ไฟล์ตัวอย่าง — ใช้หลังแก้ db/schema.ts หรือตอน setup ครั้งแรก
ขั้นตอน
- Push schema: รัน
npx drizzle-kit push(อ่าน config จากdrizzle.config.ts) — รายงาน output จริง ถ้าชนของเดิมให้แสดงและถามผู้ใช้ก่อน destructive ทางเลือก - Seed ตัวอย่าง (เฉพาะเมื่อตาราง
filesว่าง): INSERT ไฟล์จากpublic/samples/โดยpdf_url = '/samples/<ชื่อไฟล์>'(ไฟล์และที่มาดูใน PLAN.md §0 ตาราง "ไฟล์ตัวอย่าง") — ใช้ SQL จาก README ถ้ามีแล้ว รันผ่านdocker exec judes-note-db psql -U postgres -c "..." - รายงานผลแต่ละขั้นตามจริง — ขั้นไหนไม่ได้ทำบอกสาเหตุ อย่าเดา
ข้อควรระวัง
DATABASE_URLชี้ที่ containerjudes-note-db(postgres:17-alpine, พอร์ต 54322 — ไม่ใช่ Supabase) — ถ้า container ไม่รันอยู่ ให้สั่งdocker start judes-note-dbหรือแจ้งผู้ใช้ตามคำสั่ง docker run ใน README- ห้ามลบ volume
judes-note-db-dataเว้นแต่ผู้ใช้สั่งชัดเจน (มีข้อมูล annotation จริงหายได้) - ไม่ต้องตั้ง realtime publication/replica identity อีกต่อไป (SSE sync ผ่าน
lib/annotate-events.tsไม่ผ่าน DB trigger)