這些是我用於維護自定義訂單的架構的簡化版本(所有表均在MySql中)。架構設計:訂單和地址
Order [Id, Shipping_AddressId, Receiving_AddressId]
Address [Id, Contact, Line1, City]
訂單船舶及參考接收地址標識。情況:用戶A使用這些發貨地址和接收地址創建了10個訂單。之後,用戶決定編輯其中一個地址(比如R1)。由於我想保留原始訂單的細節,所以在編輯時,我會創建一個新地址並將舊地址標記爲不活動。 (因此舊訂單保持不變)
Address [Id, Contact, Line1, City, Parent_AddressId, Status]
編輯時,我會拋出通知給每個人(用戶地址簿等)進行適當的更改。到目前爲止,這種方法一直「沒問題」。隨着移動應用程序進入,將被允許緩存一些數據和定期同步,我看到更多的問題會出現(有解決方案,但他們正在使操作昂貴)。
問題:是否有其他(標準)方法來處理這個問題?
您應該將地址作爲參考數據,但是可以讓用戶爲您做一些編輯工作的維基式規則 –