V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SuAlien
V2EX  ›  Java

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

  •  
  •   SuAlien · 2017-03-01 11:36:24 +08:00 · 3154 次点击
    这是一个创建于 2612 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    8 条回复    2017-03-07 14:08:54 +08:00
    Septembers
        1
    Septembers  
       2017-03-01 12:55:34 +08:00
    实现解析 SQL 分析差异不如 直接倒入数据库在数据库里处理差异性来的直接
    (按照你想做的思路你需要找个 SQL 解析器 处理后 重新生成 SQL
    (你写这些代码的时间不如吧两份 SQL 倒入数据库通过 INSERT FROM SELECT 来解决
    SuAlien
        2
    SuAlien  
    OP
       2017-03-01 13:21:29 +08:00
    @Septembers 你说的这种方式具体要如何实现?
    SuAlien
        3
    SuAlien  
    OP
       2017-03-01 13:35:00 +08:00
    @Septembers 初始化的数据是在一个用于初始化的 sql 文件中
    Michaelssss
        4
    Michaelssss  
       2017-03-01 16:27:14 +08:00
    只看标题,不如直接用 beyondCompare ,剩下的不知道楼主描述的什么。。。
    crytis
        5
    crytis  
       2017-03-01 17:49:36 +08:00 via iPhone
    2 个文件分别执行后,导出,导出的文件保证了格式一致,然后 kdiff 之类的对比
    situs
        6
    situs  
       2017-03-01 17:53:23 +08:00
    hash
    cloudzhou
        7
    cloudzhou  
       2017-03-01 17:55:39 +08:00
    > diff a.sql b.sql
    or
    > git diff a.sql b.sql
    iminto
        8
    iminto  
       2017-03-07 14:08:54 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5398 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:36 · PVG 15:36 · LAX 00:36 · JFK 03:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.