云端IDE系列教程8:TitanIDE 与 DBeaver 的爱情故事

2023-03-06

1303

故事起源


最近,我在使用 TitanIDE 开发云原生应用的时候,需要一个客户端操作数据库,我们一般都会在自己的电脑安装 NaviCat、Workbench、DBeaver 等数据库客户端工具。这些工具都挺好用的。不过呢,NaviCat 想说爱你不容易,虽然MySQL Workbench 是免费的,但是仅支持 MySQL。最后找到了 DBeaver,发现 DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,还开源、免费。但问题是,TitanIDE 是运行在云端,通过浏览器来访问的,而以上工具皆运行在本地桌面操作系统内部,一个在云端,一个在本地,TitanIDE 和 DBeaver 是怎么坠入爱河的呢?且听我娓娓道来......


主角:

TitanIDE:云原生集成开发环境

DBeaver:数据库客户端


配角:

RuoYi:一款优秀的开源项目,用到了 MySQL 数据库


客串:

NaviCat:一款强大的商业版数据库客户端

MySQL Workbench:一款免费的 MySQL 数据库客户端


一见钟情

TitanIDE 与 DBeaver 的爱情故事

根据心理学家的发现,爱上一个人,仅需要8.2秒,而喜欢一个人,只需要0.4秒。因为眨眼睛的时间是0.2秒,而大脑做决定的时间也就0.2秒而已,也就是一眨眼、一秒内的时间就足以产生最初始的心动。基于此,TitanIDE 和 DBeaver 可以说是一见钟情,接下来我们进一步了解一下这两位主角。


TitanIDE简介


TitanIDE 是一款云原生集成开发环境, 公元 2019 年出生于一个云原生家庭,自幼受云计算的熏陶,注重安全、高效、体验,最少只需一台虚拟机,十分钟即可安装好,即可开启您的全云端开发之旅!


TitanIDE支持多核心,无需本地安装,打开浏览器就可以选择您熟悉的开发工具,无论是Jetbrains全家桶、Android Studio、VS Code、OpenSumi、Eclipse等IDE,还是Postman、DBeaver等常用工具,总有一款适合您。


点击,立即免费下载TitanIDE>>>


云端IDE


DBeaver简介


DBeaver 是集三万宠爱于一身的开源桌面数据库客户端应用客户端,对于这么热的 DBeaver,功能强大,几乎支持市面上所有的数据库产品,包括:MySQL、PostgreSQL、SQLite、Oracle、DB2、SQL Server、Sybase、MS Access、Teradata、Firebird、Apache Hive、Phoenix、Presto等, 本故事的主角是 DBeaver CE,即社区版,企业版还支持 NoSQL如MongoDB,Redis等。



坠入爱河


优美的 DBeaver 让 TitanIDE 一见钟情,双双坠入爱河。在此之前,TitanIDE 也在数据库客户端选择方面经历了一些曲折,其中就包括命令行客户端和市面上一些其他的同类产品。


创建数据库连接


以 MySQL 为例,TitanIDE 在工作区已经集成了mysql命令行客户端,输入以下命令即可。


# mysql 部署在 demo 开发空间,服务名称为 mysql,和应用在同一个开发空间的情况下,-h 参数值为 mysql,如果需要在其他开发空间连接 demo 开发空间的 mysql,则 -h 参数为 mysql.demo

mysql -h mysql -u root -p

Enter password:


执行 MySQL 连接后的效果如下:



不过,对应相当一大部分程序员来说,还是难以驾驭命令行工具,因此,考虑图形界面客户端就成了 TitanIDE 不二的选择,起初准备集成 NaviCat,只是,NaviCat 看似高贵,其实在磨合的过程中是历尽艰辛的,最新的版本支持 Linux,符合 TitanIDE 的审美观,但是想说爱你真不容易,在容器化过程中,NaviCat 相处不是很融洽,个中缘由就不在这里赘述,我们还是把更多时间留给我们的主角 -- DBeaver。


在 TitanIDE 启动 DBeaver 非常简单,选择 DBeaver 模板创建一个项目即可。(在 PC机用过本地版本的朋友一定知道,您在正式使用 DBeaver 的时候需要安装 JDK,然后在连接数据库的时候需要等待安装驱动,在 TitanIDE 将这些步骤都做成模板后,已经简化很多了,和其他 IDE、工具的使用方式一样开箱即用。)



打开 DBeaver 之后,我们来创建一个数据库连接,DBeaver 支持众多的数据库,这里我们以 MySQL 为例新建一个链接。



在创建新的数据库连接时,以下标红色部分需要注意,服务器地址填写 mysql是因为 MySQL部署在 DBeaver 同一个开发空间 demo,在右下角的服务列表有提示服务名称和端口号,点击服务名称即可复制并粘贴到服务器地址栏,认证填写连接数据库的用户名和密码,在 Advanced 区域,有个本地客户端,需要指定本地客户端所在的目录,为什么需要配置这么一个客户端呢,因为在导入数据的时候需要用到。在上面有提到,TitanIDE 在 /usr/bin 项目默认安装了 mysql的命令行客户端,如果是其他的本地客户端,仍然可以通过右侧栏的文件上传工具上传到 DBeaver 的工作区,然后在本地客户端下拉浏览找到您上传的客户端。



这一步的设置相当重要,您需要告诉 DBeaver 去哪里找本地客户端的可执行文件,以 MySQL 为例,在恢复数据时需要用到 /usr/bin/mysql, 这也是社区软件免费之美,不重复造轮子。对应部分用户来说,可能会多了一步配置。纯粹从产品层面来说,还是有改进的空间。当然这点瑕疵不丝毫影响 TitanIDE 对 DBeaver 的爱,这世界上有谁是十全十美的呢?



TitanIDE 在 /usr/bin 文件夹下面内置了 mysql 客户端,因此选择 /usr/bin 后点击 【open】按钮。


如果您用的不是 mysql,或者找不到相关工具,您可以通过文件上传工具上传。



随后再点击 【确定】按钮,新建数据库环节到此就结束啦。



现在来查看下数据库连接信息,具体显示如下:



新建数据库


创建好数据库连接之后就可以进行日常的数据库操作啦,故事讲到这里,第一配角 RuoYi正式登场,以RuoYi项目开发为例,来创建一个数据库 ry, 点击右键->新建数据库。



在输入框输入数据库名称 ry后点击【确定】按钮:



导入数据库


当创建数据库之后,就可以将数据导入数据库了,数据的导入有三种方式。


方式一:如果您的SQL脚本已经在代码仓库,那么您可以通过 Git 直接克隆到 DBeaver 的工作区,这里我导入的是 RuoYi数据库,因此克隆RuoYi项目,在随后恢复数据库的时候选择工作区的SQL脚本文件



方式二:如果您的SQL脚本是在本地电脑,可以直接在右侧栏文件上传工具直接上传文件到工作区,在随后恢复数据库的时候选择工作区的SQL脚本文件:



方式三:如果您是在 TitanIDE 上已经克隆了代码到同一个开发空间的其它项目,则可以通过一个 space.share 的文件来共享SQL脚本,在随后恢复数据库的时候选择 space.share 的SQL脚本文件:



在完成以上操作之后,我们就可以在 DBeaver 正式导入(恢复)数据到数据库啦,点击数据库 ry,按右键菜单 -> 工具 -> 恢复数据库:



还记得上面我们讲过将数据库SQL脚本导入工作区吗?现在是时候使用这个SQL脚本了,通过输入文件右侧图标打开文件选择框,选择好您要导入的数据SQL脚本,如 /home/ide/workspace/space.share/sql/quartz.sql然后点击【开始】按钮:



DBeaver 本着负责的态度,会再次提醒如下:



您即将从 /home/ide/workspace/space.share/sql/quartz.sql恢复数据库ry。这可能会导致数据库损坏。确定要继续吗?我们是新创建的数据库,当然安全,请点击 【是】按钮。


比翼双飞


在导入数据之后,现在是时候来体验一下互相欣赏一下 DBeaver 这位集三万宠爱于一身的主角之美了,我们接着往下看。


修改主题


作为一个程序员,长期工作在电脑前面,暗黑主题已经成了广大程序员的最爱了,据说暗黑主题还没那么容易招惹 Bug,您相信吗?


主题的设置方法很直观,在菜单选择:窗口 -> 首选项:



打开首选项之后选择:用户界面->外观->主题,再下拉选择您喜欢的主题:


新建数据库表


1、创建表


在 DBeaver 新建数据库表很直观:使用鼠标右键在数据库->表打开菜单->新建表:


2、创建列(字段)


创建好表之后,在数据库列区域点击右键弹窗菜单->新建列。


或者点击新建列图标。


然后填充数据库字段属性,按需填写好后点击【确定】按钮。


特别注意:在创建表的字段设置自增时报错「incorrect table definition there can be only one auto column and it must be defined as a key」,该怎么解决呢?



经查验,在创建表时,如果设置字段自增,则会报以上错误。原因是 DBeaver 没有自动帮您设置这种特殊的约束,需要您在创建表后,在「约束」里手动设置字段成为主键。



如下选择 id 字段为主键,点击【确定】按钮。


然后返回「列」在设置id为「自增」,点击【保存】->【执行】按钮完成修改。


查看表属性、数据、ER图


双击左侧树状菜单中需要查看的表,如「sys_user」,右边会显示表的属性、数据和ER图。


查看表属性


查看表数据


ER图


修改列、字段属性


双击「列」,进入表的字段属性编辑状态,直接在表格中修改字段属性后,点击「保存」即可生效。


向表中插入数据


DBeaver 插入数据非常直观,直接选择「添加行」然后就可以像 Excel 一样操作数据库插入数据,然后保存即可。


查询表数据


数据库查询是程序员DBA最常用的功能了,在这里可以进行数据库脚本的开发。


以下是查询结果:



修改表中数据


进入数据页面,直接像操作 Excel 一样修改完毕再点击「保存」。


删除表中一行数据


首先选择要删除的行,然后点击「删除行」,最后「保存」完成删除操作。


删除数据表


右键点击需要删除的表,然后选择「删除」,确认后,表会被从数据库中删除。请谨慎使用!


查看数据库 ER 图


接下来秀一秀 DBeaver 最性感部分 -- 数据库 ER 图。



导出数据库


在完成以上常规操作之后,我们来看下如何导出一个数据库所有的表,操作非常简单,和导入数据差不多,选择要导出的数据库,点击右键弹窗菜单:工具->转存数据库:


选择「转存数据库」


选择要导出的对象


填写导出配置


「开始」导出


终成眷属


我们来回顾一下 TitanIDE ❤️ DBeaver 的爱情故事,TitanIDE 为了寻找一可靠的、可以相处到地久天长的数据库客户端简直是操碎了心,最后有幸遇见 DBeaver,从云端的一见钟情、坠入爱河、比翼双飞,直到 DBeaver 入住 TitanIDE,两位有情人终成眷属。


最后,我们再给我们故事的第一主角来个特写:



注:DBeaver 有云端版本 -- CloudBeaver,不过,它还未成熟,暂时不考虑,作为简单数据库查询还是可以的。


点击,立即免费下载TitanIDE>>>

技术交流
我们建立了多个云原生技术交流群,其中有来自Oracle、Citrix、华为、腾讯等国内外云计算专家,立即扫码,拉你进群。目前已有2000+开发者加入我们......
云原生厂商 云原生技术服务商
在云原生时代,乐鱼创新致力于通过赋能开发者,实现企业快速迭代与交付,大幅提升创新效率。
产品下载