usage.txt 5.0 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1
ZenData is a generic data generator. You can use YAML file to define the data format and use zendata to create it.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
2

aaronchen2k2k's avatar
aaronchen2k2k 已提交
3
Parameters:
aaronchen2k2k's avatar
aaronchen2k2k 已提交
4 5 6 7

  -d  --default    The default config file for data format.
  -c  --config     The current config file for data format, and it can override the config in the default file.
  -o  --output     The file name of the data generated. You can specify the output format by the extension name.
陈琦 已提交
8
                   For example json, xml, sql, csv and xlsx.  The text data in the original format is output by default.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
9
                   Note: For SQL files, you can use --db to specify a specific database type in Mysql,Oracle,SqlServer.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
10 11 12
  -n  --lines      The number of lines of data to be generated. The default is 10.

  -F  --field      This parameter can be used to specify the fields, separated by commas. The default is all fields.
陈琦 已提交
13
  -T  --trim       Remove the prefix and postfix of every field when outputting data or decode data to json string.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
14
  -H  --human      Output a readable format, print the field name, and use the tab key to split.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
15 16 17
  -r  --recursive  Recursive mode. The default mode is parallel, in which each field loops independently.
                   The value of a field in the recursive mode depends on that of the previous field, which enables the random data.

aaronchen2k2k's avatar
aaronchen2k2k 已提交
18 19 20 21 22 23
  -t  --table      If the output format is sql, using it to specify the table name to insert data to.
      --dsn        Specify MySQL, SqlServer or Oracle data source connection string, used to insert data to table directly.
      --clear      Remove data in MySQL table before insert.

  -s               Run HTTP service for data administration and generation.
  -p  --port       Specify the port of HTTP service.
陈琦 已提交
24
  -R  --root       The root directory when generate data OR running HTTP. The client can call the config file under the root directory.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
25 26
                   If not specified, take the directory where the zd executable file is located.

aaronchen2k2k's avatar
aaronchen2k2k 已提交
27
      --parse      Specify a dsn, sql schema OR article text file, used to generate YAML config file for it.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
28
                   You need to specify an output directory by using -o.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
29
  -i  --input      Specify a Schema(.sql)OR Article(.txt)file to parse.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
30

陈琦 已提交
31 32
  -l  --list       List user's data in current dir.
  -L               List build-in data in ZenData install dir.
33
  -v  --view       View detailed definition of a data or resource format.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
34
  -h  --help       Print help.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
35
  -e  --example    Print the data format config file of the example.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
36

aaronchen2k2k's avatar
aaronchen2k2k 已提交
37
Command Line Examples:
aaronchen2k2k's avatar
aaronchen2k2k 已提交
38

39 40 41 42
$>zd.exe -d demo\default.yaml    # Generate 10 lines of data according to the config file specified by -d.
$>zd.exe -c demo\default.yaml    # Generate 10 lines of data according to the config file specified by -c.
$>zd.exe -c demo\default.yaml -r # Generate 10 lines of data according to the config file specified by -c recursively.
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100               # Using the parameter of -c and -d at the same time.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
43

44 45 46 47 48
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.txt   # Output data in original format.
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.json  # Output data in JSON.
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.xml   # Output data in XML.
$>zd.exe -d demo\default.yaml -n 100 -o test.sql -t user             # Output the sql inserted into the table user.
$>zd.exe -d demo\default.yaml -o test.sql -t user -s mysql --trim    # Remove the prefix and postfix of every field.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
49
$>zd.exe -c test\test-sql.yaml -t zendata.table_a --trim -dsn mysql://root:P2ssw0rd@127.0.0.1:3306/zendata#utf8 --clear # Insert data to MySQL table.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
50

aaronchen2k2k's avatar
aaronchen2k2k 已提交
51 52 53 54
$>zd.exe -parse -i demo\zentao.sql -o db                             # Generate YAML files for each table by parsing zentao.sql.
$>zd.exe -parse -i demo\article.txt  -o demo                         # Convert article text to yaml config file in demo dir.
$>zd.exe -parse -dsn root:P2ssw0rd@(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local -table table1 -o db
                                                                     # Generate YAML files for given table in database.
aaronchen2k2k's avatar
1.1  
aaronchen2k2k 已提交
55

aaronchen2k2k's avatar
aaronchen2k2k 已提交
56
$>zd.exe -l                             # List all build-in data types.
57
$>zd.exe -v address.cn.v1               # View data types in build-in Excel file data\address\cn.v1.xlsx.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
58
$>zd.exe -v address.cn.v1.china         # View data items in Excel sheet "china".
59
$>zd.exe -v ip.v1.yaml                  # View data in build-in instances defined in yaml\ip\v1.yaml。
aaronchen2k2k's avatar
aaronchen2k2k 已提交
60

aaronchen2k2k's avatar
aaronchen2k2k 已提交
61
Service Example:
aaronchen2k2k's avatar
aaronchen2k2k 已提交
62

aaronchen2k2k's avatar
aaronchen2k2k 已提交
63 64
$zd.exe -p 80                           # Listen port 80. Use the directory of zd.exe as the root.
$zd.exe -p 80 -R d:\zd\config           # Listen port 80. Use d:\zd\config as the root.
aaronchen2k2k's avatar
aaronchen2k2k 已提交
65

aaronchen2k2k's avatar
aaronchen2k2k 已提交
66
Client Call:
aaronchen2k2k's avatar
aaronchen2k2k 已提交
67

aaronchen2k2k's avatar
aaronchen2k2k 已提交
68 69 70
$curl http://localhost:8848/data?d=demo/default.yaml&c=demo/config.yaml&n=100&T=true                # Specify the server config file via GET.
$curl http://localhost:8848/data?default=demo/default.yaml&output=test.sql&table=user               # Parameter names can be full.
$curl -i -X POST "http://localhost:8848/data?lines=3&trim=true" -F default=@demo/default.yaml       # The config can be uploaded via POST.