如何使用 Java 实现对比两个 sql 文件

2017-03-01 11:36:24 +08:00
 SuAlien

一个 sql 文件时程序初始化时导入的配置数据,另一个 sql 文件是升级时导出的配置数据库, 两个文件中记录有相同的表,初始化的数据库 sql 文件的某些表字段可能会被改变, 则导出的 sql 文件对应表要做出相应字段修改,同时在配置数据中添加相应的字段默认值,然后重新导入修改后的 sql 文件。 该如何实现

3201 次点击
所在节点    Java
8 条回复
Septembers
2017-03-01 12:55:34 +08:00
实现解析 SQL 分析差异不如 直接倒入数据库在数据库里处理差异性来的直接
(按照你想做的思路你需要找个 SQL 解析器 处理后 重新生成 SQL
(你写这些代码的时间不如吧两份 SQL 倒入数据库通过 INSERT FROM SELECT 来解决
SuAlien
2017-03-01 13:21:29 +08:00
@Septembers 你说的这种方式具体要如何实现?
SuAlien
2017-03-01 13:35:00 +08:00
@Septembers 初始化的数据是在一个用于初始化的 sql 文件中
Michaelssss
2017-03-01 16:27:14 +08:00
只看标题,不如直接用 beyondCompare ,剩下的不知道楼主描述的什么。。。
crytis
2017-03-01 17:49:36 +08:00
2 个文件分别执行后,导出,导出的文件保证了格式一致,然后 kdiff 之类的对比
situs
2017-03-01 17:53:23 +08:00
hash
cloudzhou
2017-03-01 17:55:39 +08:00
> diff a.sql b.sql
or
> git diff a.sql b.sql
iminto
2017-03-07 14:08:54 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/344016

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX