背景:数据管理工具是服务测试和测试平台开发必备软件,笔者大奇常用的有Navicat和DataGrip,但前者某宝找不到便宜且靠谱的licence,后者高级的操作还是不够傻瓜式,再加之新公司对破解版使用管的很严,所以有了寻找开源或者免费工具需求,最后在万能Github找到Beekeeper Studio这个项目,下面就让我们切实体验一番,看看究竟否能替代拥有。
1.Beekeeper Studio简介
Beekeeper Studio是一款开源 SQL 编辑器和数据库管理器,适用于 MySQL、Postgres、SQLite、SQL Server等数据库,界面美观、现代、易用、拥有多平台(Windows、MocOS、Linux)版本的 SQL 客户端。截止到笔者体验时 GitHub上已有 Star 10.1K ,大约有900多Issues其中500多已关闭,并且最近更新也很频繁,这就起码说明发展健康度良好。
项目自己给出的描述最大特点是流畅、快速
- 真正的跨平台:Windows、MacOS 和 Linux;
- 查询编辑器具有语法高亮显示,自动 SQL提示;
- TAB标签式编辑,可以同时多任务处理;
- 表格数据具有排序和筛选,快速过滤搜索想要的内容;
- 合理的快捷键操作;
- 支持历史查询,语句保存和使用;
- 支持主题颜色,默认深色。
2.上手体验
项目官方本身是有两个版本,从官方下载对比页面看数据的核心功能和常用数据库支持都一样,Ultimate收费版多的功能是团队协作和私有服务等,这也很符合近年来的工具软件发展趋势和盈利模式,所以个人使用角度出发来体验下社区免费版本到够不够用,是否可以可以替代Navicat、DataGrip等很贵的收费软件。
2.1安装启动
从官方地址 https://www.beekeeperstudio.io/get 选择对应的系统开源版本下载,Mac和Window都是安装包,安装,直接双击进行安装即可。
https://docs.beekeeperstudio.io/installation/#mac-installation
Mac安装启动后主题会跟随系统,界面上非常简洁干净,很像JS编写的桌面程序,从源代码查看也确实看到vue
和electron
相关内容。并且设置里可以调出浏览器的开发者模式,关于社区版本支持的数据库如图:
2.2 连接和查询
选择Mysql本地连接一个数据,其中演示操作将笔者Mock项目中qmock为例子,工具页面分了左右两栏,左侧为连接内容,右侧为配置区域,支持默认和高级配置,常规数据工具拥有的它都有,并且支持按颜色命名保存,风格比较喜欢。
如果不指定默认数据库,连接后可以从下拉选择框中选择要管理的数据库,选择后便会显示所有表,以及会自动创建一个查询页面栏,简单写个查询语句进行 Run 查看,体验上有对应输入补全提示,查询速度也比较快,展示风格Web化。
也可通过双击或者邮件查看表,同样以新的Tab展示,这里还有看到非常简洁的快速查询工具栏和底部信息显示栏。
2.3 数据库和表管理
新数据的创建目前只能使用创建语句进行创建,下拉框点击刷新后可以看到新的数据,同时通过查询语句也可以查询到新的数据创建,Database的创建像Navicat那样的邮件或者菜单的快捷创建功能。
表的创建可以当前数据库+来进行创建,比较友好的一点是它会默认添加两行比较常用的字段,但不确定是否可以自定义配置,官方使用文档是没有找到,如果能的话对于团队内规范化数据表固定的创建就很友好了。这里看到图形化的表格创建仅支持基本的内容配置。
创建后通过右键 View Structure查看表结构,然后可以有限的编辑些额外的配置,同时也可编辑修改,所以更建议的是可以创建空表然后通过再编辑Table实现一些其他配置。
至于表的表名修改、删除等操作还是需要通过语句执行,测试的语句如下:
alter table AddTableTest rename to EditTableTest;
drop table EditTableTest;
2.4 数据管理
通过Beekeeper Studio的Help菜单我们可以添加工具自身的数据管理数据库。
进入后我们能看到工具自己所有的配置项和设置项都在这了,图中红色框的部分表示数据也支持快捷的数据导出功能,格式支持CVS、SQL、JSON,符合基本导出格式需求。
2.5 其他功能
Beekeeper Studio还有额外的空间概念,即团队协作能功能,以及Oracle数据库支持,但这些都是收费,就不过多说了,如果想体验可以注册个账号有30天的免费体验。这里给出一些官方演示的特性功能:
1)自动建议:支持表、列、字段的建议,但目前还远没有其他商业软件语法提示强大;
2)上下文运行:支持单语句或者多语句的执行,及结果查询;
3)参数查询:支持定义输入参数查询,语法有两种类型:variable
或者 $1
。
3.总结和建议
简单总结下,工具本身开源免费,支持多平台,使用简单,交互易用,功能满足日常使用需求,不过一些高级的操作都还是要通过SQL语句解决,我想也是符合官方设计此工具并且开源的初衷(原英文参考引用),大概意思就是市面上大多功能繁多臃肿,不易使用且收费,所以想做一款开源简单易用但足够强大的SQL工作台。
One of our frustrations with other open-source SQL editors and database managers is that they take a ‘kitchen sink’ approach to features, adding so many features that the UI becomes cluttered and hard to navigate. We wanted a good looking, open source SQL workbench that’s powerful, but also easy to use. We couldn’t find one, so we created Beekeeper Studio!
最后给出选择建议:
仅从笔者亲自曾使用过的Navicat和DataGrip以及本次Beekeeper Studio给出建议,并且是从场景出发,并不代表一定合适所有人。
Navicat
- 公司大方有商用Licence则无脑首选
- 自己SQL语法不熟只想傻瓜式操作,但愿意折腾可选
DataGrip
- 有JetBrains激活码建议使用DataGrip或者自己Ide集成数据管理插件
- 增删改查属性修改SQL语法很熟,喜欢语句操作数据库建议使用。
Beekeeper Studio
- 自己和公司没有Key,折腾版本有授权风险,非常建议使用此开源工具。
- 语法不熟但日常使用都是基本查询、修改操作,没有自建过多库表需求,强烈建议使用此工具。
经过一番体验笔者目前打算个人和公司使用都切换到Beekeeper Stuido,而且相信此款开源工具随着未来不断的迭代会有更好用的功能,虽然一些操作需要通过语句实现,但也能倒逼自己多使用SQL语句了。