unregister
V2EX  ›  程序员

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

By unregister at 2023 年 11 月 15 日 · 2116 次点击

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

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

略麻烦,预计需要 1 整天才能搞定
Les1ie
   4
Les1ie  
   2023 年 11 月 16 日   ❤️ 1
unregister
   5
unregister  
OP
   2023 年 11 月 16 日
@TheEricZhou 就是只想提醒我表名前面加库名就可以了,其他的格式不要求,表明往往是唯一的。
@Les1ie 看起来挺麻烦的
unregister
   6
unregister  
OP
   2023 年 11 月 16 日
@Les1ie 大佬,好像没有对应的规则,表前面加数据库名称的
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 28ms · 3.9.8.5