目标
根据导出参数,将目标系统中的数据生成导出文件
接口设计
命令/入口名
databox 数据工具箱
子命令
list 列举所有模块
show [module_name] 导出某个模块或所有模块的数据依赖图文本文件(mermaid 格式)到 ./graphs 目录
ripper company_code [module_name] 导出某个模块或所有模块的数据到 ./{company_code}_data 目录
clean company_code 清空公司的导出数据
stitcher dirpath [module_name] 恢复指定目录下的某个模块或所有模块的数据
技术方案
命令行参数解析 python-fire:
考虑可扩展性和界面友好性,应该使用 click。但是考虑到 python-fire 更省时间,故仍然使用 python-fire。
数据依赖图呈现 https://mermaid-js.github.io/mermaid-live-editor/:
语法上选择 mermaid,该语法既可以手写又可以代码生成。呈现上选择由命令行工具生成符合 mermaid 语法的文本文件,然后手动复制到在线编辑器中进行查看。
本地生成图片过于复杂耗时,本地 md 编辑器渲染字体过小,故弃而不用。
数据导出:
ripper 在待导出的系统环境中运行,共享同一套环境。
同一个模块的数据导出到同一个模块中。