-->

Danh sách lỗi thường gặp

Danh sách lỗi thường gặp

Stt Tên lỗi Prompt
1 ⚠️ Lỗi Layout
✅ Auditing Codebase Layout Errors
2 ⚠️ Lỗi auto submit
3 ⚠️ Lỗi TypeScript
4 ⚠️ Lỗi hiển thị Unicode
5 ⚠️ Lỗi CSS cũ
✅ Auditing Legacy CSS Errors
6 ⚠️ Business logic trộn trong UI
✅ Auditing Business Logic Separation
7 ⚠️ Thiếu application layer hook
✅ Auditing Application Layer Hooks
8 ⚠️ TemplateEditor UX thô sơ
9 ⚠️ Hardcode CSS
✅ Auditing Hardcoded CSS Styles
10 ⚠️ Lỗi Format (UI/Frontend)
✅ Auditing Frontend UI Formatting
11 ⚠️ Lỗi Naming Convention (Backend/Supabase)
✅ Auditing Backend Naming Conventions
12 ⚠️ Lỗi Tech bebt
✅ Auditing Tech Debt Source Code
13 ⚠️ Lỗi: duplicate key value violates unique constraint
✅ Auditing Duplicate Key Constraints
14 ⚠️ Lỗi: Could not find the function
15 ⚠️ Lỗi: function generate_next_doc_number
✅ Fixing RPC Function Signature
16 ⚠️ Không refactor sau khi “vibe xong”

15. Lỗi: function generate_next_doc_number

Lỗi function generate_next_doc_number(unknown, unknown, unknown, integer) does not exist xảy ra vì trong đợt chuẩn hóa "Level 9 Architecture RPC" gần đây, tiện ích nội bộ generate_next_doc_number vô tình bị đổi tên thành rpc_generate_next_doc_number.

Thực tế, không giống như trigger sẽ tự động cập nhật tên mới, PostgreSQL sẽ không tự động cập nhật phần thân mã nguồn (phần body PL/pgSQL) của các hàm phụ thuộc (bao gồm tất cả các hàm rpc_create_order, rpc_create_yarn_receipt, v.v.). Điều đó dẫn đến khi chúng ta đang save dữ liệu, hệ thống chạy lệnh gọi generate_next_doc_number(...) bên trong cấu trúc lưu database nhưng nhận lại lỗi không thấy hàm. Đồng thời file src/api/helpers/next-doc-number.ts ở Client cũng vẫn đang trỏ về cấu trúc kiểu nguyên thủy.

Phương pháp và kết quả xử lý

Thay vì phải đập đi xây lại 9 hàm rpc_create_* có thể gây sai sót logic, thiết kế tối ưu nhất và an toàn là thiết lập lại tên gốc của Helper nội bộ này (vì bản chất nó luôn là Helper chứ không thao tác chuẩn hóa như Data Mutation RPC).

  1. Khởi tạo Database Migration mới: Sinh Migration Rollback 20260418000001_revert_doc_number_rename.sql.
  2. Hủy bỏ tác vụ cấu hình nhầm ALTER FUNCTION public.rpc_generate_next_doc_number RENAME TO generate_next_doc_number;
  3. Push cấu hình tự động thông qua npx supabase db push.

Báo cáo công việc (Verify & Report)

  • Modified: supabase/migrations/20260418000001_revert_doc_number_rename.sql (New Migration).
  • Trạng thái Database: Remote Database đã được apply thành công supabase db push.
  • Mã nguồn Typescript: An toàn vì không bị lệch hàm ở /src/api/helpers/next-doc-number.ts. Bạn có thể thao tác submit Tạo Phiếu bình thường trở lại. Hệ thống hoàn toàn không có lỗi Linter cũng như Typecheck tiếp diễn.

Hãy thử lưu lại phiếu và trải nghiệm nhé. Nếu có khúc mắc thêm xin tương tác lại!

#PostgreSQL #Supabase #DatabaseMigration #FixBugs #ERPDevelopment #TechDebt

Đăng nhận xét

Mới hơn Cũ hơn