Tôi đang làm việc trên một hệ thống danh sách mong muốn, nơi người dùng có thể thêm các mục vào danh sách mong muốn khác nhau của họ và tôi dự định cho phép người dùng đặt hàng lại các mục sau này. Tôi không thực sự chắc chắn về cách tốt nhất để lưu trữ dữ liệu này trong cơ sở dữ liệu trong khi vẫn nhanh và không chuyển sang một mớ hỗn độn (ứng dụng này sẽ được sử dụng bởi một cơ sở người dùng khá lớn, vì vậy tôi không muốn nó bị hỏng để dọn dẹp các công cụ).
Ban đầu tôi đã thử một position
cột, nhưng có vẻ như điều đó sẽ không hiệu quả khi phải thay đổi giá trị vị trí của mọi mặt hàng khác khi bạn di chuyển chúng.
Tôi đã thấy mọi người sử dụng tự tham chiếu để tham chiếu giá trị trước đó (hoặc tiếp theo), nhưng một lần nữa, có vẻ như bạn sẽ phải cập nhật rất nhiều mục khác trong danh sách.
Một giải pháp khác tôi từng thấy là sử dụng số thập phân và chỉ dán các mục vào khoảng trống giữa chúng, có vẻ như là giải pháp tốt nhất cho đến nay, nhưng tôi chắc chắn phải có cách tốt hơn.
Tôi có thể nói rằng một danh sách điển hình sẽ chứa tối đa khoảng 20 mặt hàng và tôi có thể sẽ giới hạn ở mức 50. Việc đặt hàng lại sẽ sử dụng kéo và thả và có thể sẽ được thực hiện theo đợt để ngăn chặn điều kiện cuộc đua và như vậy yêu cầu ajax. Tôi đang sử dụng postgres (trên heroku) nếu nó quan trọng.
Có ai có ý tưởng nào?
Chúc mừng cho bất kỳ sự giúp đỡ!