背景:SQL Server 2016
1、现有项目,由于流程都配置都是在前端页面配置,这些配置数据会保存在数据库(暂时未知那些表,可用对比工具确定哪些表)
2、在这种情况下,在开发机做完了,想同步到生产机上。
3、想写一个小工具来同步,这时有可能数据库表结构发生变化,也可能数据内容发生变化(增删改查),还有自增ID,表的一些约束等其他属性需要同步。
4、这个工具有什么思路,请大家给个建议。
你这个同步工具其实本质上也是去操作数据库,只不过是要操作至少两个数据库,一个是本地,一个是生产机。通过不同的连接字符串获取到两个数据库,然后对比他们的表、字段、字段类型,以及表与表之间的数据差异;至于自增id,数据库本身是可以设置添加标识列的(也就是自增id)。对比完成以后,就可以根据情况对生产机上的数据库做新增表、字段,和数据操作。
大概是这么个思路。
比如一张表的某个字段,
原来是varchar(50),后面在开发机被改成了varchar(100),
原来是decimal(18,2),改成了decimal(2,0)等这些情况都要考虑到
@chengeng: 对
dev库导出。
prod库导入。
数据库自带的功能~
因为修改比较频繁,而且业务数据不能同步,只能同步配置数据,这个导入导出可以是吧?我先去了解一下!
@chengeng: 如果是SQL SERVER,是可以做到的。不过你们这玩法有风险哈。
这时有可能数据库表结构发生变化,也可能数据内容发生变化(增删改查),还有自增ID,表的一些约束等其他属性需要同步。
这个工具能做出来的话,价值千万以上。
就是在开发机上做开发,然后发布到生产机。不用考虑时效性,手动同步
用的是visual studio么 ?
如果是选择tools-》sqlserver-》新建架构比较、新建数据比较
这是我觉得最好用的工具