加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何版本控制SQL Server数据库?

发布时间:2020-12-12 16:54:33 所属栏目:MsSql教程 来源:网络整理
导读:我有SQL Server数据库,并在其中进行更改.某些数据库表中有记录是开始记录,需要我的应用程序运行.我想对数据库和这些记录(行)进行版本控制.有可能这样做,并将其捆绑到SVN版本控制我有我的源代码或有其他解决方案吗?我想完成这一点,以便能够返回到以前版本的数
我有SQL Server数据库,并在其中进行更改.某些数据库表中有记录是开始记录,需要我的应用程序运行.我想对数据库和这些记录(行)进行版本控制.有可能这样做,并将其捆绑到SVN版本控制我有我的源代码或有其他解决方案吗?我想完成这一点,以便能够返回到以前版本的数据库,并比较数据库修订版之间的更改.这将是很好,如果这个工具是免费的,开源的或不是很昂贵的.

我的环境是Visual C#Express,SQL Server 2008 Express和Tortoise SVN.

解决方法

我们刚刚开始对我们的一些项目进行以下操作,似乎运行得很好,用于填充“静态”表.

我们的脚本遵循构建临时表的模式,然后填充我们想要的真实表类似的.我们只将人的可读值放在这里(即我们不包括IDENTITY / GUID列).脚本的其余部分使用临时表并执行适当的INSERT / UPDATE / DELETE语句,使真正的表格类似于临时表.当我们必须更改这个“静态”数据时,我们必须更新的就是临时表的总数.这意味着版本之间的DIFFing将按预期工作,并且回滚脚本与从源代码控制获取以前的版本一样简单.

INSERT / UPDATE / DELETE只需要写一次.事实上,我们的脚本稍微复杂一些,并且在实际的DML语句之前运行两套验证.一组验证临时表数据(即我们不会通过尝试使数据库类似于临时表)来违反任何限制.另一个验证临时表和目标数据库(即外键可用).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读