Nhiệm vụ: Thiết kế cấu trúc dữ liệu trong haih-cms
Thiết kế cấu trúc dữ liệu trong haih-cms
Thiết kế mô hình dữ liệu mục tiêu cho haih-cms dựa trên nhu cầu của trang web mới, chỉ sử dụng cơ sở dữ liệu legacy làm nguồn dữ liệu thay vì dùng làm mẫu kiến trúc.
Mục tiêu
Thiết kế một mô hình dữ liệu mục tiêu sạch sẽ cho trang web mới trên haih-cms. Mô hình Rails legacy chỉ được sử dụng để hiểu dữ liệu nguồn và không được sao chép y nguyên.
Việc cần làm
- Dựa trên việc kiểm kê đã hoàn thành, tách ra các thực thể thực sự cần thiết cho trang web mới.
- Thiết kế các trường và mối quan hệ có tính đến việc chỉnh sửa và phát triển dự án trong tương lai.
- Mô tả riêng biệt sự tương ứng giữa các bảng và trường legacy với các thực thể mới.
- Không mang sang các trường kỹ thuật và mối quan hệ vốn chỉ phục vụ cho việc cài đặt Rails cũ.
- Chuẩn bị các trường SEO, slug, trạng thái xuất bản và mối quan hệ giữa các tài liệu.
- Tính đến việc nhập tệp đa phương tiện và các tệp liên quan.
Kết quả
Lược đồ mục tiêu của haih-cms tối ưu cho trang web mới, kèm theo bản đồ chuyển đổi dữ liệu legacy sang mô hình mới một cách dễ hiểu.
Tiêu chí hoàn thành
- Tất cả các thực thể được chuyển đổi đều có biểu diễn mục tiêu.
- Cấu trúc legacy không bị sao chép một cách vô căn cứ.
- Các quy tắc chuyển đổi dữ liệu khi nhập rõ ràng.
- Mô hình phù hợp cho sự phát triển tiếp theo của trang web, độc lập với dự án Ruby.
Ворклоги
Tiến độ: Mô hình mục tiêu đã được xác định về mặt khái niệm
Phân tích cơ sở dữ liệu kế thừa (legacy DB) đã xác nhận tình trạng trùng lặp nặng nề trong cơ sở hạ tầng nội dung: các loại tài liệu khác nhau được phân tách vào các bảng chuyên dụng nhưng lại lặp lại các tính năng giống nhau — văn bản, URL, SEO, xuất bản, sắp xếp, v.v.
Một quyết định mục tiêu đã được đưa ra: các thực thể nội dung của trang web mới sẽ được quy về một Concept (Khái niệm) phổ quát nếu có thể. Sự khác biệt giữa một case study, dịch vụ, FAQ, trang, tin tức và các tài liệu khác được thể hiện thông qua nội dung, loại, URI, phân cấp và các mối quan hệ, chứ không bắt buộc phải tạo bảng mới và CRUD.
Giải pháp này được coi là nền tảng cho nội dung do AI điều khiển (AI-driven content): tác nhân (agent) càng ít phải hiểu các lược đồ đặc biệt thì việc biên tập tự động hàng loạt và phát triển dự án trong tương lai càng trở nên dễ dàng hơn.