请问如何自动同步数据库结构

就是有一个开发数据库,有一个测试数据库。

现在我经常是更新了开发数据库,还得花时间去对比测试数据库,然后进行更新同步,让测试数据库和开发数据库保持一致。请问大家有没有什么方法可以使用测试数据库自动与开发数据库保持一致呢?
...全文
324 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
能做到这样就更好了,但在我们公司行不通。现在大家都是直接在开发数据库上面修改的,然后要更新其它数据库的时候,我就用SQL Delta工具来对比,现在再同步。我想要是能自动同步该多好。
發糞塗牆 2012-10-16
  • 打赏
  • 举报
回复
没必要单独写程序,我现在的公司,差不多一个星期就要升级一次应用程序的版本,使用的是tfs来生成增量修改的脚本。然后到数据库执行。如果不用这种方式,那我就死的块了
發糞塗牆 2012-10-16
  • 打赏
  • 举报
回复
每次开发的时候,要求开发人员从sourcesafe上签出修改,然后再签入。用TFS更好。这些工具可以生成一定时间范围内的更改脚本,只需要把这些脚本在测试库上一执行,就可以实现结构同步了。
以背影取胜 2012-10-16
  • 打赏
  • 举报
回复
还是写个后台程序来处理吧。。。。
  • 打赏
  • 举报
回复
你说是每次数据库的改动都需要生成脚本文档然后使用sourcesafe来控制吗?
發糞塗牆 2012-10-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
引用 8 楼 dba_huangzj 的回复:
你控制好开发人员只能通过tfs或者sourcesafe来改动程序,这才是根本的保障,5楼给出的软件只是隔一段时间直接生成一次而已。算是补救工作


我们现在就是用sourcesafe来控制版本,但这个不只是控制程序么?数据库的更改也能通过这个来控制?
[/Quote]源代码、文档都可以用这个,我以前公司就用这个来控制所有代码(包括前端程序如C#或者sql语句。),现在这个公司用TFS来控制。
汤姆克鲁斯 2012-10-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 3 楼 的回复:
复制--发布订阅
选择哪个通过事物日志复制

如果修改测试也要同步到开发
那就选择合并复制

请问这个是同步数据还是结构呢?我是要同步结构。
[/Quote]
ddl 触发器
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dba_huangzj 的回复:]
你控制好开发人员只能通过tfs或者sourcesafe来改动程序,这才是根本的保障,5楼给出的软件只是隔一段时间直接生成一次而已。算是补救工作
[/Quote]

我们现在就是用sourcesafe来控制版本,但这个不只是控制程序么?数据库的更改也能通过这个来控制?
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
还有一个工具:AdeptSQL Diff 试用版,但是奇怪我一直都在试用,没问题。可以一次性比对并生成差异脚本。
[/Quote]
现在我就是在用SQL Delta工具同步,但还是麻烦啊。
有开发数据库,有测试数据库,还有客户测试数据库,麻烦啊。
發糞塗牆 2012-10-16
  • 打赏
  • 举报
回复
你控制好开发人员只能通过tfs或者sourcesafe来改动程序,这才是根本的保障,5楼给出的软件只是隔一段时间直接生成一次而已。算是补救工作
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
复制--发布订阅
选择哪个通过事物日志复制

如果修改测试也要同步到开发
那就选择合并复制
[/Quote]
请问这个是同步数据还是结构呢?我是要同步结构。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
做好源代码管控,隔一段事件就把增量的脚本在测试库执行,就可以了。vs2010已经有这样的功能。
[/Quote]

有些修改不是使用脚本来修改的,直接在数据库上面改的。
發糞塗牆 2012-10-16
  • 打赏
  • 举报
回复
还有一个工具:AdeptSQL Diff 试用版,但是奇怪我一直都在试用,没问题。可以一次性比对并生成差异脚本。
汤姆克鲁斯 2012-10-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

请注意,不是同步两个数据库之间的数据,是同步数据库的结构。
[/Quote]
这样的话用ddl触发器来实现
汤姆克鲁斯 2012-10-16
  • 打赏
  • 举报
回复
复制--发布订阅
选择哪个通过事物日志复制

如果修改测试也要同步到开发
那就选择合并复制
發糞塗牆 2012-10-16
  • 打赏
  • 举报
回复
做好源代码管控,隔一段事件就把增量的脚本在测试库执行,就可以了。vs2010已经有这样的功能。
  • 打赏
  • 举报
回复
请注意,不是同步两个数据库之间的数据,是同步数据库的结构。

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧