KB-9897

Balo thuc the — bien ban chot thiet ke (handoff sang phien moi)

4 min read Revision 1

Balo thực thể — biên bản chốt thiết kế (handoff)

Mục đích: chốt thiết kế "đeo balo" để phiên mới bắt đầu chuẩn hoá ngay, không phải đọc lại phiên dài cũ. Vẫn trong khuôn khổ PG read PG.

Bối cảnh đã xong (nền)

  • Reports MVP chạy thật trên production: /reports + /reports/report-pg (census 12 loại, số live). Khuôn = DOT-B dot-report-publish + SharedDirectusTable + table_registry. Deploy volume-based, rollback = restore volume.
  • Đã đăng ký cụm Reports vào cơ chế bảo vệ Đ30/31 có sẵn (PARTIAL: phần Nuxt được phủ; DOT-B nằm ở dot repo ngoài tầm — ghi nợ).
  • report-workflow + report-dot: ĐÃ thiết kế prompt, CHƯA chạy (gác lại để làm balo tổng quát trước).

Định nghĩa "thực thể" và "balo"

  • Thực thể = mọi object PG đếm được (census 12 loại: schema/table/view/matview/sequence/function/procedure/trigger/constraint/index/foreign_table/column).
  • Balo = bộ ~12 trường nhãn gắn với mỗi thực thể (hồ sơ cơ bản chuẩn hoá).

5 mấu việc đeo balo (theo thứ tự)

  1. Định danh STT: dùng MOT sequence native PG cap so toan he — bat bien, khong trung (ke ca song song/rollback), sinh-truoc-so-truoc, mu ve loai/cho. Day la Nhom A thuc su. ID nay la "so can cuoc balo".
  2. Dinh nghia balo = ~12 truong nhan. Tu dong cap O TRONG cho moi thuc the (native PG, INSERT...SELECT tu catalog, vai giay). KHONG tu dong DIEN (tu dien = de rac kieu cot classification cu).
  3. Uu tien dan cho thu dung-nhieu/de-nham truoc, KHONG dan het. "Bat buoc" = bat buoc CO O, khong phai dien het ngay. O trong van hop le, loi ra lam thuoc do tien do.
  4. Pham vi dot dau: 5 loai — table, view, function, trigger, column. Drill-down 12 dong census: bam 1 dong -> bang con liet ke tung thuc the loai do + cac cot balo (da so de trong). Viec DIEN ban sau. Cac loai khac lam sau.

Chieu "loai" — QUYET DINH CHONG PHINH (quan trong)

  • Loai hien it (~6-8: DOT, trigger-fn, checker, reader, helper, system...). CHUA can tang cha "chi"/"ho".
  • KHONG dung 3 bang phan tang (loai/chi/ho) + bang quan he cha-con — do la mega-graph, dung cai registries-pivot may thang khong xong + 41 bang di san hon don.
  • Thay bang: 1 bang tu dien loai, moi loai co 1 cot "nhom cha" (tuy chon, de trong duoc). Gom len chi/ho = GROUP BY cot cha. Phan tang la CACH NHIN (group), khong nhat thiet la CAU TRUC bang. Tach tang chi khi loai dong that.

"Bang con de nhat quan" — lam ro

  • NEN: bang tu dien gia tri hop le cho moi nhan can kiem soat (vd bang "cac loai hop le") — de cot nhan chi nhan gia tri trong danh sach, chong rac tai dien. Nho, don gian.
  • CHUA CAN: mang quan he cha-con phan tang.

Ma dinh danh: dung SEQUENCE, khong dung oid/ten

  • oid doi khi tao lai; ten doi khi rename -> deu rot balo.
  • Sequence = so can cuoc balo, bat bien. Ten/loai thuc the chi la "nhan ngoai de nhan dien"; doi ten = cap nhat nhan ngoai qua nhip doi chieu (lenh chay lai duoc, khong phai may ngam).
  • Xoa thuc the -> can nhac DANH DAU MO COI thay vi xoa cung balo (giu nhan da dan, loi lech ra). Owner quyet sau.

Phan biet trong/ngoai "di san hon don" (Nhom A, khach quan)

  • Tieu chi da kiem bang PG: "la collection Directus?" -> chi workflows + dot_tools la collection that; 41 bang/view wf_/v_workflow_/v_universal_* KHONG phai collection = vung nghi may-moc-ngam.
  • Dung tieu chi nay de CHON cai doc cho report (an toan). KHONG dung de ket luan "rac chet" — song/chet phai dieu tra rieng. NO: dieu tra + don di san la du an rieng, sau.

Nguyen tac giu xuyen suot

  • Tu cap o trong OK; tu dien noi dung CAM.
  • Khong dan het moi dung; nhom "(chua dan)" la thuoc do.
  • "Dap da to": nhieu lat cat nho, moi lat mot tinh chat, dan cai chac de trong cai mo ho, agent doc tay la buoc cuoi.
  • Lat "chac" (da trong dot_tools / native-C / trigger-fn) dan thang; lat "doan" (ten giong, hanh vi) chi ra UNG VIEN, nguoi gat.
  • Assemble First, DOT 100% cho moi WRITE, khong mega-registry/graph/pipeline, moi phan boundary ro.