Files
alla-tms/docs/TMS_V2_MINIMAL_REFACTOR_PLAN.md
2026-07-16 09:53:14 +07:00

2.1 KiB

TMS V2 Minimal Refactor Plan

แนวทางนี้ยึดหลักไม่รื้อโครงสร้างเดิมของโปรเจกต์

สิ่งที่คงไว้

  • Next.js App Router เดิม
  • Drizzle ORM เดิม
  • PostgreSQL เดิม
  • NextAuth เดิม
  • /dashboard/* routes เดิม
  • src/features/* structure เดิม
  • ตารางเดิมทั้งหมด

สิ่งที่แก้เพิ่ม

schema.ts

  • users.password_hash เปลี่ยนเป็น nullable เพื่อรองรับ LDAP
  • เพิ่ม training_category enum
  • เพิ่ม notification_type enum
  • เพิ่ม announcement_status enum
  • เพิ่ม import_status enum
  • เพิ่ม field ใน courses
    • course_code
    • certificate_required
    • training_cost
  • เพิ่ม field ใน training_records
    • approved_hours
    • category
    • reject_reason
  • เพิ่ม pending_master_review ให้ master ที่เกี่ยวข้อง
  • เพิ่มตารางใหม่
    • training_policies
    • notifications
    • announcements
    • audit_logs
    • import_jobs

Navigation

แก้ src/config/nav-config.ts ให้เป็นเมนูตาม MVP Phase 1 และซ่อน Training Matrix เป็น Phase 2

Routes ใหม่

  • /dashboard/pending-review
  • /dashboard/training-policy
  • /dashboard/import-employees
  • /dashboard/master-review
  • /dashboard/announcements
  • /dashboard/audit-logs

ขั้นตอนสร้าง Migration

รันคำสั่งจาก root project:

npm run gen
npm run migrate

หรือถ้าใช้ bun:

bun run gen
bun run migrate

หมายเหตุ

ยังไม่ได้ Implement business logic ของแต่ละ module ในรอบนี้ เป็นการปรับโครงสร้างฐานข้อมูลและ route/menu เพื่อรองรับ Sprint ถัดไป