背景
在我们的日常开发中,一般建好一个数据库表后,需要再插入一些测试数据用来测试。
一般情况下是手写 insert SQL 语句,或者用个单元测试用例跑个程序,总之是比较麻烦。
其实我们的需求很简单,就是能生成测试数据就行了,当然最好能规范点儿,省得生成好了还得再改。
之前使用过的很多数据库客户端都有生成 SQL,DDL,DML 但不能帮我批量生成测试数据。
直到发现了 DBeaver,它的企业版有这个功能!
DBeaver
DBeaver 是一个功能非常完善的数据库客户端,它有
安装
由于企业版是收费的,所以要想办法 “安装” 它,可以参考:https://juejin.cn/post/6953133069465780232
“安装” 的重点有下面几个
- 安装 jdk 11
- 编译得到 jre
cd bin/ ./jlink --module-path jmods --add-modules java.desktop --output jre
- 修改配置文件(下面是我本地 mac 电脑的)
-startup ../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar --launcher.library ../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.2.100.v20210209-1541 -vm /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin -vmargs -XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM -Dosgi.requiredJavaVersion=11 -Xms128m -Xmx2048m -XstartOnFirstThread -javaagent:/Users/leo/soft/dbeaver-agent/dbeaver-agent.jar
接下来就可以打开软件了
生成 Mock 数据库
建好表后,找到表右击打开如下
点击 “Generate Mock Data”, 可以设置你需要的数据条数
甚至可以修改每一个字段的 Mock 的规则
一路确定后,数据就生成了,非常规范,非常快