我们目前正在开发一个使用数据库的应用程序。
每次更新数据库结构时,我们都必须提供一个脚本,将数据库从以前的版本更新到当前版本。
因此,数据库当前有一个数字,它告诉我们它的当前版本,然后当我们想要使用“旧”数据库时,我们的软件会进行更新。
我们遇到的问题是当我们有分支时:
当我们创建一个新的大功能时,这将不会对用户可用(并且不包括在版本中),我们创建了一个分支。
主分支(主干)将定期合并,以确保创建早午餐具有最新的错误更正。
下面是一些插图:
问题出在我们的更新脚本上。它们从以前的版本更新到当前版本,然后更新数据库的版本号。
假设我们在创建分支时使用的是DB版本17。
然后,我们执行分支,并在Trunk DB上进行更改。数据库现在的版本是18。
然后,我们在分支上进行db更改。因为我们知道已经有了一个新的版本"18",我们创建了版本19和更新程序18->19。
然后在分支上合并主干。
此时此刻,我们可能会有一些永远不会运行的更新器。
如果有人在合并之前更新了他的数据库,他的数据库将被标记为版本19,更新17->18将永远不会完成。
我们想要改变这种行为,但我们找不到方法:
我们的限制是:
我们可以做些什么来确保数据库分支之间的连续性?
https://stackoverflow.com/questions/23107729
复制相似问题