usage.txt 5.3 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1
ZenData是一款通用的数据生成工具,您可以使用yaml文件来定义您的数据格式,然后交由zendata生成。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
2 3 4 5 6

参数:

  -d  --default    默认的数据格式配置文件。
  -c  --config     当前场景的数据格式配置文件,可以覆盖默认文件里面的设置。
陈琦 已提交
7
  -o  --output     生成的数据的文件名。可通过扩展名指定输出json|xml|sql|csv|xlsx格式的数据。默认输出原始格式的文本数据。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
8
                   注意:对于 SQL 文件,您可以使用 --db 指定Mysql、Oracle、SqlServer中具体的数据库类型。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
9 10 11
  -n  --lines      要生成的记录条数,默认为10条。

  -F  --field      可通过该参数指定要输出的字段列表,用逗号分隔。 默认是所有的字段。
陈琦 已提交
12
  -T  --trim       输出的字段去除前后缀,通常用在生成SQL格式输出或解析测试数据时。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
13
  -H  --human      输出可读格式,打印字段名,并使用tab键进行分割。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
14 15
  -r  --recursive  递归模式。如不指定,默认为平行模式。平行模式下各个字段独立循环。
                   递归模式下每个字段的取值依赖于前一字段。可增强数据的随机性。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
16

aaronchen2k2k's avatar
aaronchen2k2k 已提交
17 18 19 20 21 22
  -t  --table      输出格式为sql时,需通过该参数指定要插入数据的表名。
      --dsn        指定MySQL、SqlServer或Oracle数据源,用于直接插入数据到数据库表。
      --clear      插入数据前,删除已有数据。

  -s               运行数据管理和生成HTTP服务。
  -p  --port       指定HTTP服务端口。
陈琦 已提交
23
  -R  --root       指定数据生成命令或运行HTTP服务的根目录。客户端可调用该根目录下面的配置文件。如果不指定,取zd可执行文件所在目录。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
24

aaronchen2k2k's avatar
aaronchen2k2k 已提交
25 26
      --parse      指定一个数据库连接、Schema或文章文本文件,解析生成yaml配置文件。需通过-o参数指定一个输出的目录。
  -i  --input      指定parse指令的的Schema(.sql)或文章(.txt)文件,用于转换成yaml配置文件。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
27

陈琦 已提交
28 29
  -l  --list       列出当前目录下所有的用户数据定义。
  -L               列出ZenData安装目录下所有数据定义。
30
  -v  --view       查看数据定义的详细信息。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
31
  -h  --help       打印帮助。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
32
  -e  --example    打印示例的数据格式配置文件。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
33 34 35

命令行模式举例:

36 37 38
$>zd.exe -d demo\default.yaml                                        # 根据-d参数指定的配置文件生成10条记录。
$>zd.exe -c demo\default.yaml                                        # 根据-c参数指定的配置文件生成10条记录。
$>zd.exe -c demo\default.yaml -r                                     # 根据-c参数指定的配置文件,采用递归的方式生成10条记录。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
39 40
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100               # -c覆盖-d文件的配置,输出100条记录。
$>zd.exe demo\default.yaml demo\test.yaml -n 100                     # 多配置文件示例,后面的文件会覆盖前面文件里的配置。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
41

42 43 44
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.txt   # 输出原始格式的数据。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.json  # 输出json格式的数据。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.xml   # 输出xml格式的数据。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
45 46
$>zd.exe -d demo\default.yaml -n 100 -o test.sql -t user             # 输出针对user表的insert语句。
$>zd.exe -d demo\default.yaml -n 100 -o test.sql -t user --trim      # 输出针对user表的insert语句,去掉前缀和后缀。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
47
$>zd.exe -c test\test-sql.yaml -t zendata.table_a --trim -dsn mysql://root:P2ssw0rd@127.0.0.1:3306/zendata#utf8 --clear # 插入数据到MySQL数据表。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
48

aaronchen2k2k's avatar
aaronchen2k2k 已提交
49 50 51 52
$>zd.exe -parse -i demo\zentao.sql -o db                             # 根据sql的定义生成各表的yaml文件,存储到db目录里面。
$>zd.exe -parse -i demo\article.txt -o demo                          # 转换文章为yaml配置,输出到demo目录下。
$>zd.exe -parse -dsn root:P2ssw0rd@(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local -table table1 -o db
                                                                     # 根据指定数据库表生成yaml文件,存储到db目录里面。
aaronchen2k2k's avatar
1.1  
aaronchen2k2k 已提交
53

54
$>zd.exe -l                                                          # 列出所有內置数据。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
55 56 57
$>zd.exe -v address.cn.v1                                            # 查看內置Excel文件data/address/cn.v1.xlsx中的数据表。
$>zd.exe -v address.cn.v1.china                                      # 查看內置Excel文件china数据表中的数据。
$>zd.exe -v ip.v1.yaml                                               # 查看內置文件yaml/ip/v1.yaml定义的数据。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
58 59 60

服务模式举例:

61
$zd.exe -p 80                                                        # 监听80端口,以zd.exe文件所在目录为根目录。
62
$zd.exe -p 80 -R d:\zd\config                                        # 监听80端口,以d:\zd\config为根目录。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
63 64 65

客户端调用:

aaronchen2k2k's avatar
aaronchen2k2k 已提交
66 67 68
$curl http://localhost:8848/data?d=demo/default.yaml&c=demo/config.yaml&n=100&T=true                # 通过GET方式指定服务器端配置文件。
$curl http://localhost:8848/data?default=demo/default.yaml&output=test.sql&table=user               # 参数名可以用全拼。
$curl -i -X POST "http://localhost:8848/data?lines=3&trim=true" -F default=@demo/default.yaml       # 可以通过POST方式上传配置文件。