重复SQL执行定义XML本地扫描工具

丑话只适合在前面说
工具只做辅助,无法完全规避问题;养成良好的开发规范,不改已经发布的脚本,不建重名文件,比工具更重要;
工具检查的是sql脚本执行定义文件(一般以应用标识.xml的格式命名,下同)的内容,因为只有在这个文件中定义的脚本才会被执行;不会检查datamodel下面真实的sql文件是否重名;
没有经过大面积验证,只能用在一般场景;如果有未覆盖到的、边界的场景导致扫描不准确或者报错,请联系作者改进,感谢~
只关心怎么用?->三、怎么使用?
一、为什么做这件事?
在苍穹平台下,基线(不含)之前的测试环境,sql脚本文件允许重复执行,方便在研产品维护表结构和预置数据;基线(含)之后的测试环境,如基线、预发布、沙箱、灰度等,在升级时,已执行过的同名的脚本文件(即使有修改),不重复执行。(——具体到不同的产品线可能有差异,也可能会调整,以实际为准。)
对于不熟悉该机制的研发人员来讲,容易在脚本执行定义文件中,添加与之前的脚本不同路径、文件名相同的节点,在升级时,脚本中的内容不会被执行,导致表结构缺失、预置数据丢失等问题。

按开头说明的升级机制,此类问题能够最早发现的阶段是基线,处理问题的成本已相对较高;稍有不慎,可能会泄露到沙箱、客户灰度等外部环境,影响不可谓不大。
二、有什么优缺点?
该工具是基于IntelliJ IDEA开发的一款插件,其他IDE无法使用;但基于IDEA大量使用的现状,不难找到能够使用该插件的开发人员;
该工具仅能在开发环境本地使用,比较推荐给项目组DBA做脚本重复定义的检查;无法发布到构建流水线等通用的工具环境中运行;
该工具能够支持单个文件内、多个文件之间定义的重复.sql文件名检查,以sql文件名的维度输出重复次数、所在xml文件路径(跳转
重复SQL执行定义XML本地扫描工具
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



