Mysql 用于维护记录草稿副本的数据库设计模式

Mysql 用于维护记录草稿副本的数据库设计模式,mysql,database,hibernate,revision,Mysql,Database,Hibernate,Revision,我必须实现一个解决方案,我们的用户可以先起草一个实体,完成后再发布 发布后,用户可以编辑发布的版本,这将创建发布版本的草稿副本。用户可以在完成编辑后重新发布它 实体搜索应始终显示最新版本 需要维护所有以前的版本以进行跟踪 解决方案应该与Hibernate一起使用 我使用的数据库是MySQL 对于这类问题,有没有经过验证的数据库设计模式。非常感谢您的见解。我刚刚回答了一个类似的问题: 我刚才回答了一个类似的问题: 也许你会得到更多的答案,为什么不只是保持表中的数据正常,而是翻转“活动”状态。所

我必须实现一个解决方案,我们的用户可以先起草一个实体,完成后再发布

发布后,用户可以编辑发布的版本,这将创建发布版本的草稿副本。用户可以在完成编辑后重新发布它

  • 实体搜索应始终显示最新版本
  • 需要维护所有以前的版本以进行跟踪
  • 解决方案应该与Hibernate一起使用
  • 我使用的数据库是MySQL

对于这类问题,有没有经过验证的数据库设计模式。非常感谢您的见解。

我刚刚回答了一个类似的问题:


我刚才回答了一个类似的问题:


也许你会得到更多的答案,为什么不只是保持表中的数据正常,而是翻转“活动”状态。所有正常报告都可能发生在活动行上(或至少在层次结构中从上到下)。没有理由对它进行过度设计。也许你会得到更多的答案,为什么不让表中的数据保持正常,而是将状态翻转为“活动”。所有正常报告都可能发生在活动行上(或至少在层次结构中从上到下)。没有理由过度设计它。
table: movie
id | year_made | rank | title
---+-----------+------+------------
1  | 1995      | 87   | Forest Gump

table: movie_log
id | movie_id | user_id | created             | attr  | info
---+----------+---------+---------------------+-------+--------
1  | 1        | 123     | 2016-07-14 12:20:34 | title | 阿甘
2  | 1        | 123     | 2016-07-14 12:21:34 | title | 阿甘正传
3  | 1        | 234     | 2016-07-14 12:22:34 | title | Forest Gump