保持数据库版本的最佳方式是什么?

问题描述:

我需要开发一个Web应用程序。 在不同地区销售不同产品的网上商店...保持数据库版本的最佳方式是什么?

管理员需要修改thoses包,而最终用户将无法看到他的修改。最终用户将只能在管理员发布更改时才能看到这些修改。

我的问题是我如何设计数据库(或webapp),以便管理员能够看到应用程序的不同版本(工作版本),而最终用户会看到另一个版本(发布版本)?

我想在每个表上添加一个字段'version_id'。 有什么想法?建议?链接?

我会将预发布版本存储在单独的表格中,然后在管理员发布时更新“实时”表格。

通过这种方式,您可以在经常阅读的表格(活动表格)中保留行数,从而减少开销 - 如果是网上商店,只要有人访问该页面,活动表格就会被阅读。

如果您使用的是MySQL,还可以优化这两个表,以便实时版本使用MyISAM(松散地说)更适合繁重的读取操作,并将管理员预发布表作为InnoDB表; InnoDB(再次松散地说)在重写操作上表现更好。该预发布表一次只能由很少(甚至一个)用户访问(admin/s),但在发布之前可能会经常更新,因为他们意识到他们拼错了某些内容并对其进行了更改。

如果要合并,你一定要为你要与许多更多的预发布版本表中的比活的就结了一个单独的表的完整版本历史记录。