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

2023-11-15 22:45:19 +08:00
 unregister

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

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

略麻烦,预计需要 1 整天才能搞定
Les1ie
2023-11-16 12:20:44 +08:00
unregister
2023-11-16 23:09:55 +08:00
@TheEricZhou 就是只想提醒我表名前面加库名就可以了,其他的格式不要求,表明往往是唯一的。
@Les1ie 看起来挺麻烦的
unregister
2023-11-16 23:44:35 +08:00
@Les1ie 大佬,好像没有对应的规则,表前面加数据库名称的

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

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

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

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

© 2021 V2EX