2011-09-29 200 views
0

我需要開發一個Web應用程序。 在不同地區銷售不同產品的網上商店...保持數據庫版本的最佳方式是什麼?

管理員需要修改thoses包,而最終用戶將無法看到他的修改。最終用戶將只能在管理員發佈更改時才能看到這些修改。

我的問題是我如何設計數據庫(或webapp),以便管理員能夠看到應用程序的不同版本(工作版本),而最終用戶會看到另一個版本(發佈版本)?

我想在每個表上添加一個字段'version_id'。 有什麼想法?建議?鏈接?

回答

0

我會將預發佈版本存儲在單獨的表格中,然後在管理員發佈時更新「實時」表格。

通過這種方式,您可以在經常閱讀的表格(活動表格)中保留行數,從而減少開銷 - 如果是網上商店,只要有人訪問該頁面,活動表格就會被閱讀。

如果您使用的是MySQL,還可以優化這兩個表,以便實時版本使用MyISAM(鬆散地說)更適合繁重的讀取操作,並將管理員預發佈表作爲InnoDB表; InnoDB(再次鬆散地說)在重寫操作上表現更好。該預發佈表一次只能由很少(甚至一個)用戶訪問(admin/s),但在發佈之前可能會經常更新,因爲他們意識到他們拼錯了某些內容並對其進行了更改。

如果要合併,你一定要爲你要與許多更多的預發佈版本表中的比活的就結了一個單獨的表的完整版本歷史記錄。

相關問題