Skip to content

zgq346712481/datamaker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

在线MYSQL测试数据生成工具

根据SQL表结构生成Mysql测试数据,根据字段名猜测类型,生成默认值

English Readme

生成规则

普通规则见官网,此处讲个规则的组合使用

自增日期(组自增) + 常量列表(组模式)

使用场景: 一个肯德基总店下有一堆子店,希望生成[每个子店每天]的数据,一行记录包含一个店一天的汇总数据

使用方法: 在子店ID 字段上选择 常量列表(组模式) 用逗号分隔写上各店的ID,日期选择 自增日期(组自增) 即可

Unique Key

UNIQUE KEY (user_id,platform) 的情况

方案一: 这种platform只有1和2的可以考虑使用 给 platform常量列表(组模式)1,2,然后user_id选自增之类保证不重就OK。

方案二: 选择重复Key选项,测试数据一般跳过就好,注意选 REPLACE INTO 可能出现 AUTO_INCREMENT + 2 的情况

个性化

你可以通过部署到自己的服务器上,对一些字段进行默认值配置,非常适合公司内网 部署也方便,代码里无任何框架依赖,能跑PHP就行

配置

/conf/common.ini 为通用配置 /conf/local.ini 为个性化配置,适合不宜暴露的默认值,如测试账号ID等,该文件已加入 .gitignore 里,如果发现不生效则跑下命令 git update-index --assume-unchanged conf/local.ini

配置样例:

[0]
key = index_day
method = INCR_DAY
value = 20180301
way = match
[1]
key = url
method = RAND_PIC_URL
value = 300,400
way = search

key : 字段名 method : 生成规则,如下表 value : 给前端的输入框值 way : 输入的key跟配置文件的key匹配规则,目前支持 match 完全相等、search 字符串包含,默认为match

规则英文 中文 参数
INCR_INT 自增int from : 从from开始自增,步长1
RAND_INT 随机int from,to : 生成[from,to]闭区间整数
RAND_FLOAT 随机浮点 from,to,round : 生成[from,to]闭区间浮点,保留round位小数,这三个参数都是整数
INCR_DAY 日期自增 from : 从from开始自增,步长1天,格式20180304
INCR_DAY_GROUPLY 日期自增(组模式) 同上,但每组值里的这个日期不变,下条SQL才变
RAND_TIMESTAMP 随机时间戳 from,to : 生成[from,to]这些天里的秒级时间戳,如 20180304,20180305
RAND_TIMESTAMP_MYSQL 随机时间(Mysql格式) from,to : 生成[from,to]这些天里的秒级时间,格式:2018-04-07 18:08:34
IGNORE 不生成该列
CONST_STR 常量 常量值
CONST_STR_LIST 常量列表(组模式) 输入 a,b,每条SQL都输出 a,b,此时组数固定
RAND_STR 随机串 length : 英文串长度
RAND_STR_LIST 随机串(指定列表) a,b,c : 该字段只出现a,b,c之一,可重复出现
INCR_STR_SUFFIX 前缀+自增数字 输入 小王,输出 小王1,小王2,用于人名等
RAND_PIC_URL 图片地址 width,height : 图片的宽高

添加新生成规则流程

假设叫 rand_what

  1. 前端 index.php

    getDefaultValueByMethod() 增加该规则的默认值
    getHoverContent() 增加该规则的hover文案
    fillTabelWithData() 增加对应代码

  2. 后端 gensql.php

    ValueGenerator 类里新增 randWhat() 函数就行, 即下划线转驼峰

License

The MIT License

About

在线 SQL测试数据生成 ,直接打开官网就会用了

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Hack 66.7%
  • PHP 33.3%