1 为什么开发ZenData
2 ZenData数据生成工具简介
3 如何获得支持
4. 快速入门
4.1 安装部署
4.2 将ZenData加入系统环境变量中(可选)
4.3 命令行参数说明
4.4 命令行调用示例
4.5 內置数据定义示例
4.6 YAML定义语法总览
5. 用户指南
5.1. 数据定义语法
5.1.1 区间
5.1.2 步长
5.1.3 随机
5.1.4 重复
5.1.5 循环
5.1.6 循环支持区间
5.1.7 格式化
5.1.8 函数处理
5.1.9 字面常量
5.1.10 前后缀
5.1.11 分隔符
5.1.12 宽度
5.1.13 嵌套
5.1.14 嵌套字段递归
5.1.15 字段结果随机
5.1.16 文本文件数据
5.1.17 Excel数据查询
5.1.18 时间表达式
5.1.19 值表达式
5.2. 內置数据定义
5.2.1 系列定义
5.2.2 实例定义
5.2.3 实例间无限级嵌套
5.3. 用户数据自定义
5.3.1 自定义Config
5.3.2 扩展现有定义
5.4. 数据定义引用
5.4.1 引用ranges系列
5.4.2 引用instances实例
5.4.3 多froms联合引用
5.4.4 引用Config配置
5.4.5 引用yaml文件内容
5.4.6 全局from语句
5.5. 数据输出
5.5.1 文本格式输出
5.5.2 JSON格式输出
5.5.3 XML格式输出
5.5.4 SQL格式输出
5.5.5 直接插入数据到MySQL
5.5.6 CSV格式输出
5.5.7 Excel格式输出
5.5.8 ProtoBuf格式输出
5.6. ZenData命令行详解
5.6.1 Default配置覆盖
5.6.2 多配置文件新语法
5.6.3 列出內置数据
5.6.4 查看內置数据
5.6.5 从SQL生成数据定义
5.6.6 从数据库表结构生成数据定义
5.6.7 清除数据前后缀
5.7. ZenData文章生成器
5.7.1 中文词语基础数据
5.7.2 转换文章到YAML配置
5.7.3 文章格式语法介绍
5.7.4 从YAML配置生成新文章
5.8. ZenData客户端
5.8.1 Web接口调用
5.8.2. 数据提供者示例
5.8.2.1 TestNG数据提供者示例
5.8.2.2 PHPUnit数据提供者示例
5.8.2.3 PyUnit数据提供者示例
5.8.3. Web数据管理工具
5.8.3.1 关于客户端
5.8.3.2 加载已有数据文件
5.8.3.3 管理我的数据
5.8.3.4 管理內置数据
5.8.3.5 数据设计页面
5.8.3.6 数据区间编辑
5.8.3.7 数据引用编辑
5.9 ZenData自动升级
6. 内置数据一览
6.1 使用命令查看內置数据
6.2. 预置Excel数据
6.2.1 国家
6.2.2 地址
6.2.3 人名
6.2.4 颜色
6.2.5 中文词语
6.2.6 城市区号
6.2.7 公司名称
6.2.8 成语
6.2.9 歇后语
6.2.10 古诗
6.2.11 歌曲
6.2.12 玩笑
6.2.13 动植物
6.2.14 食物
6.2.15 水果
6.3 內置数据定义

从SQL生成数据定义

2020-08-13 09:07:32
陈琦
6237
最后编辑:陈琦 于 2022-12-30 14:56:51
分享链接

执行以下命令,将数据库创建表的SQL语句,转换成ZenData的YAML定义文件。

-i(-input)为输入的SQL文件;-o(-output)指定输出文件目录。

zd.exe -parse -i demo\tables.sql -o demo\output

 

tables.sql文件中包含了两个表的create语句,在demo/output目录下会生成3个文件,分别为keys.yaml, biz_project.yaml和biz_task.yaml,其内容类似:

title: keys
desc: automated export
from: ""
instances:
    - instance: biz_project_id
      range: 1-100000
    - instance: biz_task_id
      range: 1-100000


keys.yaml文件包涵了所有表的主键定义,其他表的YAML配置文件中,主键和外键均引用此处的定义,以达到取值一至的目的。


title: table biz_task
fields:
    - field: id
      from: keys.yaml
      use: biz_task_id
      postfix: ", "
    - field: name
      range: "a-z"
      postfix: ", "
    - field: project_id
      from: keys.yaml
      use: biz_project_id{:2}
      refer: createdBy,createdAt
biz_task.yaml为表biz_task的数据定义。主键id引用了keys.yaml中task_id的定义,外键project_id指向了keys.yaml中project_id的定义。


发表评论
评论通过审核后显示。