6

Vâng, tôi đã nhìn thấy một số plugin để tạo ra một bảng các phiên bản để theo dõi các thay đổi trên các mô hình cụ thể, nhưng không thể làm một cách dễ dàng như Quora lãmCách sửa đổi kiểm soát hoạt động trên quora? Cơ sở dữ liệu thiết kế

Changing a topic photo on quora

Những gì tôi có cho đến nay là một bảng như thế:

  • id
  • item_type: especifies những gì mô hình sửa đổi đề cập: "Chủ đề"
  • item_id
  • kiện: nếu nó là: "chỉnh sửa, thêm, hoàn nguyên, gỡ bỏ"
  • người: ai kích hoạt sự kiện
  • cột: Điều gì cột trong "Chủ đề" giá trị đã thay đổi. "Chủ đề PHOTO_URL."
  • mới: giá trị mới: "http://s3.amazonaws.../pic.png"
  • giá trị cũ: "" http://s3.amazonaws.../oldpic.png "
  • revision_rel: điểm để sửa đổi quá khứ
  • timestamp

enter image description here

Ai đó có thể cho tôi một số trợ giúp và nguyên tắc với thiết kế này? Im lo lắng về hiệu suất, cột sai, cột thiếu, v.v.

id | item_type | item_id | event | who | column | new  | old  | revision_rel | date 
________________________________________________________________________________________________________ 
1 | Topic | 2 | edit | Luccas | photo | pic.png | oldpic.png | null  | m:d:y 
2 | Topic | 2 | revert | Chris | photo | oldpic.png | pic.png |  1  | m:d:y 
+0

Bạn có lẽ không cần cái này nữa ... nhưng bạn có thể không cần lưu trữ giá trị cũ và mới nếu bạn ghi lại tất cả các sự kiện (tạo, chỉnh sửa, hủy). Giá trị cũ của phiên bản 2 là giá trị mới của phiên bản 1. Tùy thuộc vào hệ thống của bạn. –

Trả lời

1

Có một số đá quý sẵn có đã làm những gì bạn đang tìm kiếm. bạn đã nhìn vào:

Hãy nhìn vào đá quý hiện có: https://www.ruby-toolbox.com/categories/Active_Record_Versioning

Tôi đang sử dụng đã được kiểm toán (acts_as_audited trước đó) cho một cái gì đó rất giống nhau: https://github.com/collectiveidea/audited

+0

Tôi sẽ chỉnh sửa câu hỏi của mình sau để nói rằng plugin này không làm những gì tôi cần. Tôi muốn versioning theo cột, và không phải toàn bộ hàng. Tôi sẽ mô tả điều này tốt hơn sau này và cách thực hiện im. Nhưng cảm ơn câu trả lời. – Luccas

Các vấn đề liên quan