一键导出基础资料、单据的建表(创建表、主键、索引)KSQL工具原创
金蝶云社区-唐佐平
唐佐平
4人赞赏了该文章 571次浏览 未经作者许可,禁止转载编辑于2024年06月17日 15:05:14

为什么要导出表单建表KSQL脚本?

  • ISV产品、项目二开,避免不了会有新增基础资料、业务单据,那一定会有新增数据库表。

  • 苍穹在执行补丁包部署的时候,是先更新应用仓库,再导入元数据(含执行sql脚本文件),然后再重建元数据(过程中会自动在数据库中创建表结构)。

  • 开发阶段,我们会对新增的数据库表创建索引,或者在表中预置数据。创建索引和预置数据,需写KSQL脚本,放到补丁包的sql文件中,这样补丁包安装的时候才会执行,补丁执行sql脚本文件在苍穹自动建表前,所以,在创建索引,执行预置数据KSQL的时候,数据中心还没有这些新增的表,这样补丁包安装就会报表不存在的错误,造成补丁包安装失败。

  • 为了解决上述情况报错,所以需要在项目中,将新增表的操作写成KSQL脚本文件,金蝶总部研发是严格按照规范编写KSQL脚本,有一套版本管理的规范和工具,而金蝶ISV产品、项目二开,是没有工具来管理的,目前只能依靠开发人员手工完成KSQL语句编写。

  • 手工编写建表KSQL语句,效率低,容易出错,在此背景下,《一键导出表单建表KSQL工具》应运而生,提高ISV产品、项目二开过程中,建表KSQL编写的规范性和效率。


本工具适用范围

ISV产品开发、项目个性化开发中,需要将新增的表、字段,生成KSQL脚本,放入到补丁包中,更新到客户生产环境。


一键导出表单建表KSQL工具如何安装

这个工具只能在开发环境下适用,下载附件的文件后,压缩包里面有两个zip文件:

  1. metadata.zip :元数据文件包,直接在开发平台导入(可导入任一应用下,新版苍穹平台,可能提示不是当前开发商标识,用记事本打开zip文件里面的dym文件,把<Isv>kingdee</Isv>改为<Isv>你的开发商标识</Isv> ,再导入即可)

  2. bizjar.zip :解压这个zip文件,得到两个jar文件,将这两个jar文件复制到项目的lib\biz目录下

  3. 【重启IDEA调试工程】在开发平台,搜索“一键生成表单建表KSQL脚本”,或者搜索“zpt_tablestructuretoksql”,打开这个动态表单,预览,即可使用这个工具


如何使用一键导出表单建表KSQL工具

        预览“一键生成表单建表KSQL脚本”,参考下面的应用场景,生成表单的建表KSQL语句:

【场景一】

项目首次制作补丁包的时候,需要将新建/扩展的表单中,新增的表生成KSQL语句,如截图:


image.png



【场景二】:如果项目补丁,已经在生产环境部署过,然后再对表结构进行了修改,此时不能导出建表KSQL,需要导出指定字段的创建或修改KSQL语句,参考截图:


image.png


 将上面生成的KSQL,保存为文件,文件命名建议规则“开发商标识_yymmdd_表单标识_版本号.sql”,将sql文件放到元数据指定目录,参考社区文章:
https://vip.kingdee.com/link/s/lBbkA


常见问题

1、苍穹补丁包执行时,同一个sql文件只执行一次,所以每次需新增一个sql文件,文件名要全局唯一;

2、扩展的表单,选择原表单进行导出KSQL

3、只能选择自己开发商标识创建的表单进行导出建表KSQL

4、此工具初次发布,欢迎大家提出改进意见,留言、私信都可,逐步完善


工具下载

附件下载地址: https://dev.kingdee.com/dev/market/detail/1926684838761355264


赞 4