SuAlien
V2EX  ›  Java

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

  •  
  •   SuAlien · Mar 1, 2017 · 4136 views
    This topic created in 3373 days ago, the information mentioned may be changed or developed.

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

    8 replies    2017-03-07 14:08:54 +08:00
    Septembers
        1
    Septembers  
       Mar 1, 2017
    实现解析 SQL 分析差异不如 直接倒入数据库在数据库里处理差异性来的直接
    (按照你想做的思路你需要找个 SQL 解析器 处理后 重新生成 SQL
    (你写这些代码的时间不如吧两份 SQL 倒入数据库通过 INSERT FROM SELECT 来解决
    SuAlien
        2
    SuAlien  
    OP
       Mar 1, 2017
    @Septembers 你说的这种方式具体要如何实现?
    SuAlien
        3
    SuAlien  
    OP
       Mar 1, 2017
    @Septembers 初始化的数据是在一个用于初始化的 sql 文件中
    Michaelssss
        4
    Michaelssss  
       Mar 1, 2017
    只看标题,不如直接用 beyondCompare ,剩下的不知道楼主描述的什么。。。
    crytis
        5
    crytis  
       Mar 1, 2017 via iPhone
    2 个文件分别执行后,导出,导出的文件保证了格式一致,然后 kdiff 之类的对比
    situs
        6
    situs  
       Mar 1, 2017
    hash
    cloudzhou
        7
    cloudzhou  
       Mar 1, 2017
    > diff a.sql b.sql
    or
    > git diff a.sql b.sql
    iminto
        8
    iminto  
       Mar 7, 2017
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5327 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 08:45 · PVG 16:45 · LAX 01:45 · JFK 04:45
    ♥ Do have faith in what you're doing.