首页 新闻 搜索 专区 学院

两个数据库之间的同步(结构与数据)

0
悬赏园豆:50 [已解决问题] 解决于 2017-08-29 17:21

背景:SQL Server 2016

1、现有项目,由于流程都配置都是在前端页面配置,这些配置数据会保存在数据库(暂时未知那些表,可用对比工具确定哪些表)

 

2、在这种情况下,在开发机做完了,想同步到生产机上。

 

3、想写一个小工具来同步,这时有可能数据库表结构发生变化,也可能数据内容发生变化(增删改查),还有自增ID,表的一些约束等其他属性需要同步。

 

4、这个工具有什么思路,请大家给个建议。

chengeng的主页 chengeng | 菜鸟二级 | 园豆:294
提问于:2017-08-17 09:05
< >
分享
最佳答案
0

你这个同步工具其实本质上也是去操作数据库,只不过是要操作至少两个数据库,一个是本地,一个是生产机。通过不同的连接字符串获取到两个数据库,然后对比他们的表、字段、字段类型,以及表与表之间的数据差异;至于自增id,数据库本身是可以设置添加标识列的(也就是自增id)。对比完成以后,就可以根据情况对生产机上的数据库做新增表、字段,和数据操作。

大概是这么个思路。

收获园豆:50
龙行天涯 | 小虾三级 |园豆:1819 | 2017-08-17 09:13

比如一张表的某个字段,

原来是varchar(50),后面在开发机被改成了varchar(100),

原来是decimal(18,2),改成了decimal(2,0)等这些情况都要考虑到

chengeng | 园豆:294 (菜鸟二级) | 2017-08-17 09:19

@chengeng: 对

龙行天涯 | 园豆:1819 (小虾三级) | 2017-08-17 09:59
其他回答(3)
0

dev库导出。

prod库导入。

 

数据库自带的功能~

幻天芒 | 园豆:36781 (高人七级) | 2017-08-17 09:10

因为修改比较频繁,而且业务数据不能同步,只能同步配置数据,这个导入导出可以是吧?我先去了解一下!

支持(0) 反对(0) chengeng | 园豆:294 (菜鸟二级) | 2017-08-17 09:15

@chengeng: 如果是SQL SERVER,是可以做到的。不过你们这玩法有风险哈。

支持(0) 反对(0) 幻天芒 | 园豆:36781 (高人七级) | 2017-08-17 10:16
0

这时有可能数据库表结构发生变化,也可能数据内容发生变化(增删改查),还有自增ID,表的一些约束等其他属性需要同步。

这个工具能做出来的话,价值千万以上。

爱编程的大叔 | 园豆:30753 (高人七级) | 2017-08-17 09:42

就是在开发机上做开发,然后发布到生产机。不用考虑时效性,手动同步

支持(0) 反对(0) chengeng | 园豆:294 (菜鸟二级) | 2017-08-17 10:14
0

用的是visual studio么 ?
如果是选择tools-》sqlserver-》新建架构比较、新建数据比较
这是我觉得最好用的工具

Excelsior_Li | 园豆:211 (菜鸟二级) | 2017-08-18 18:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册