• 请不要在回答技术问题时复制粘贴 AI 生成的内容
unregister
V2EX  ›  程序员

怎么用脚本对 txt 文件里面的 sql 格式进行校验?

  •  
  •   unregister · Nov 15, 2023 · 1800 views
    This topic created in 931 days ago, the information mentioned may be changed or developed.

    很多年的项目的 sql 语句保存在 resource 目录下的 txt 文件里面,使用的是 Oracle 数据库,每次提交前,经常忘记在表的名称前面加上 schema 的名称,然后在打包的时候出错。怎么样方便的对格式进行校验呢?除了这个脚本还有什么其他方式吗?使用的是 GitHub Enterprise,系统是 windows 。也不太会写这个脚本

    6 replies    2023-11-16 23:44:35 +08:00
    rekulas
        1
    rekulas  
       Nov 15, 2023   ❤️ 1
    没用过客户端,不过 git 提交时可以先验证格式,例如你可以搜搜 git pre commit hook, 都是通用的,把别人的模板复制一份改下规则就能用
    Gunslinger
        2
    Gunslinger  
       Nov 16, 2023
    自己写个小程序校验,然后脚本调用程序
    TheEricZhou
        3
    TheEricZhou  
       Nov 16, 2023   ❤️ 1
    1.想办法把这些 SQL 语句读取并做拆分(比如以分号作为分隔符拆分)
    2.解析这些语句并按语句类型进行分类(比如使用 druid 连接池自带的解析器可以解析成 CreateTableStatement/InsertStatement 等对象)
    3.根据不同类型的语句 获取其目标表或者来源表的信息判断有没有加 Schema

    略麻烦,预计需要 1 整天才能搞定
    Les1ie
        4
    Les1ie  
       Nov 16, 2023   ❤️ 1
    unregister
        5
    unregister  
    OP
       Nov 16, 2023
    @TheEricZhou 就是只想提醒我表名前面加库名就可以了,其他的格式不要求,表明往往是唯一的。
    @Les1ie 看起来挺麻烦的
    unregister
        6
    unregister  
    OP
       Nov 16, 2023
    @Les1ie 大佬,好像没有对应的规则,表前面加数据库名称的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5359 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 08:26 · PVG 16:26 · LAX 01:26 · JFK 04:26
    ♥ Do have faith in what you're doing.