针对多个开发人员环境的SVN数据库版本控制

时间:2011-06-16 13:21:51

标签: sql database svn sql-server-2008 versioning

我想知道是否存在使用SVN对数据库进行版本控制的情况,当少数开发人员尝试同时提交更改时,这将确保没有冲突。

我和我的团队一直在使用更改脚本来增加架构版本号(类似于此解决方案:http://odetocode.com/blogs/scott/archive/2008/02/02/versioning-databases-change-scripts.aspx)。

这是一个非常好的解决方案,但它的主要缺陷是,当多个开发人员尝试使用相同的模式编号提交更改脚本时,可能会发生冲突 - 这不仅是一个简单的SVN冲突,而且还要求具有该冲突的用户手动更改具有模式版本的数据库表,还原其数据库更改,更改脚本文件的编号以使所有数据库更新。是否有可能避免这种障碍?我不仅仅指技术解决方案,但也许有更好的方法来组织这项任务?有任何想法吗?

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

Rails通过使用时间戳而不是递增版本号来解决这个问题。两个用户在同一秒内创建新模式版本的几率非常低。