Featured image of post 再也不需要手写 SQL 造数据了

再也不需要手写 SQL 造数据了

背景在我们的日常开发中,一般建好一个数据库表后,需要再插入一些测试数据用来测试。一般情况下是手写 inser

背景

在我们的日常开发中,一般建好一个数据库表后,需要再插入一些测试数据用来测试。

一般情况下是手写 insert SQL 语句,或者用个单元测试用例跑个程序,总之是比较麻烦。

其实我们的需求很简单,就是能生成测试数据就行了,当然最好能规范点儿,省得生成好了还得再改。

之前使用过的很多数据库客户端都有生成 SQL,DDL,DML 但不能帮我批量生成测试数据。

直到发现了 DBeaver,它的企业版有这个功能!

DBeaver

DBeaver 是一个功能非常完善的数据库客户端,它有

  • 开源免费版本:https://github.com/dbeaver/dbeaver,
  • 企业版:https://dbeaver.com/

Image

安装

由于企业版是收费的,所以要想办法 “安装” 它,可以参考:https://juejin.cn/post/6953133069465780232

“安装” 的重点有下面几个

  • 安装 jdk 11
  • 编译得到 jre
1cd bin/
2./jlink --module-path jmods --add-modules java.desktop --output jre
  • 修改配置文件(下面是我本地 mac 电脑的)
 1-startup
 2../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar
 3--launcher.library
 4../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.2.100.v20210209-1541
 5-vm
 6/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin
 7
 8-vmargs
 9-XX:+IgnoreUnrecognizedVMOptions
10--add-modules=ALL-SYSTEM
11-Dosgi.requiredJavaVersion=11
12-Xms128m
13-Xmx2048m
14-XstartOnFirstThread
15-javaagent:/Users/leo/soft/dbeaver-agent/dbeaver-agent.jar

接下来就可以打开软件了

生成 Mock 数据库

建好表后,找到表右击打开如下

Image

点击 “Generate Mock Data”, 可以设置你需要的数据条数

Image

甚至可以修改每一个字段的 Mock 的规则

Image

一路确定后,数据就生成了,非常规范,非常快

Image

参考

位旅人路过 次翻阅 初次见面