本文介绍了导出表单建表KSQL脚本的原因,主要是为了解决ISV产品和项目二开中新增数据库表及索引、预置数据时遇到的问题,避免补丁包安装错误。为此,金蝶提供了《表单建表KSQL一键智能生成工具》,提高编写效率和规范性。文章还详细说明了工具的安装、使用场景、常见问题及下载方式。
为什么要导出表单建表KSQL脚本?
ISV产品、项目二开,避免不了会有新增基础资料、业务单据,那一定会有新增数据库表。
苍穹在执行补丁包部署的时候,是先更新应用仓库,再导入元数据(含执行sql脚本文件),然后再重建元数据(过程中会自动在数据库中创建表结构)。
开发阶段,我们会对新增的数据库表创建索引,或者在表中预置数据。创建索引和预置数据,需写KSQL脚本,放到补丁包的sql文件中,这样补丁包安装的时候才会执行,补丁执行sql脚本文件在苍穹自动建表前,所以,在创建索引,执行预置数据KSQL的时候,数据中心还没有这些新增的表,这样补丁包安装就会报表不存在的错误,造成补丁包安装失败。
为了解决上述情况报错,所以需要在项目中,将新增表的操作写成KSQL脚本文件,金蝶总部研发是严格按照规范编写KSQL脚本,有一套版本管理的规范和工具,而金蝶ISV产品、项目二开,是没有工具来管理的,目前只能依靠开发人员手工完成KSQL语句编写。
手工编写建表KSQL语句,效率低,容易出错,在此背景下,《表单建表KSQL一键智能生成工具》应运而生,提高ISV产品、项目二开过程中,建表KSQL编写的规范性和效率。
版本更新说明
【2024-04-10】:V1.0.0版本发布
【2024-10-22】:
① 修改为从元数据实体获取表单的库表信息,剔除冗余字段,更准确
② 修复用户反馈的bug
本工具适用范围
ISV产品开发、项目个性化开发中,需要将新增的表、字段,生成KSQL脚本,放入到补丁包中,更新到客户生产环境。
一键导出表单建表KSQL工具如何安装
这个工具只能【在开发环境下使用】,登录MC,安装工具补丁包即可,补丁安装完成,请配置CUSLIBS,增加 form-ksql ,参考指引文章:https://vip.kingdee.com/link/s/lvQ5m
安装完成后,重启苍穹服务即可,IDEA开发环境,同步资源文件,或者手工拷贝补丁包中的jar文件,复制到项目的lib\biz目录下,重启IDEA服务即可在DEBUG调试中使用。
如何使用一键导出表单建表KSQL工具
在开发平台,搜索“表单建表KSQL一键智能生成”或“zpt_tablestructuretoksql”,打开动态表单,预览,即可使用这个工具
场景一:生成表单所有表的建表KSQL
适用于表单功能开发完成,首次生成建表KSQL,按截图操作:
场景二:生成表单新增加字段的KSQL
适用于表单在迭代过程中,增加字段,生成新加字段的建表KSQL,参考截图操作:
场景三:字段长度修改,生成修改字段KSQL
适用于修改了表单某个字段的长度,需要生成修改字段的KSQL,参考截图操作:
将上面生成的KSQL,保存为文件,文件命名建议规则“开发商标识_yymmdd_表单标识_版本号.sql”,将sql文件放到元数据指定目录,参考社区文章:
https://vip.kingdee.com/link/s/lBbkA
常见问题
1、苍穹补丁包执行时,同一个sql文件只执行一次,所以每次需新增一个sql文件,文件名要全局唯一;
2、只能选择自己开发商标识创建的表单进行导出建表KSQL;
3、欢迎大家对工具使用提出改进意见,留言、私信都可,逐步完善。
工具下载
附件下载地址: https://dev.kingdee.com/dev/market/detail/1926684838761355264