本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/12/datagrip-released
近日,来自捷克的软件公司JetBrains发布了全新的重量级产品DataGrip 1.0——号称数据库与SQL领域中的瑞士军刀。DataGrip的前身0xDBE已经发布一年多的时间了,这也是JetBrains向广大用户提供的开发版本,每个版本都有一定的使用期限,过期后用户可以从JetBrains网站上下载新的开发版本。经过了长时间的开发后,全新的产品DataGrip 1.0终于问世。与JetBrains产品线上的其他产品类似,DataGrip也提供了Windows、Linux与Mac版本。此外,JetBrains的其他产品如Intellij IDEA等也都通过插件的方式集成了DataGrip,这使得开发者能够更加方便地操作数据库。
此次发布的DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite及Sybase等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。目前市场上已经存在很多数据库客户端,如MySQL WorkBench、Toad、NaviCat、phpMyAdmin、Sequel Pro、SQLWave等等,这些既有的产品中,有些是免费的,有些则是收费的。不仅如此,很多开发者与数据库管理员已经习惯了自己所用的工具,那么DataGrip的到来会为大家带来哪些耳目一新的特性呢?
DataGrip的发布说明中写到:
在过去的一年半时间内,我们为该产品实施了Early Access Program(EAP),那时产品的名字还叫做0xDBE。现在是时候推出最终版本了。我们对那些积极反馈意见的热心体验者表示诚挚的感谢,同时也期待大家能对后续的版本建言献计,让我们一起将DataGrip打造成一款完美的数据库产品。
DataGrip的主要特性如下所示:
提供了对主流数据库管理系统的访问
修改数据库对象并自动生成脚本
DataGrip提供了一个UI用以执行诸如创建/修改表、管理列、键与索引的操作。可以立即执行生成的代码,也可以在文本编辑器中打开,并直接操作DDL脚本。DataGrip提供了上下文感知的代码完成特性,能够帮助你更快地编写SQL代码。代码完成可以感知到表结构、外键,甚至是正在编辑的代码中所创建的数据库对象。DataGrip可以检测到代码中潜在的Bug,并即时提供最佳的修复建议。它能够立刻让你知道无法解析的对象,并且总能提供问题的修复建议。
高效编写SQL并消除重复的编码工作
借助于DataGrip,你可以通过代码完成特性更快地编写代码。只需输入数据库对象、标识符或是变量的名字即可,DataGrip会提供一个匹配的列表。DataGrip能够感知到完成JOIN从句所需的依赖,并提供函数与过程所需的参数类型,还可以给出INSERT语句的表结构。DataGrip提供了Live Templates用以生成语句的常见部分,你可以使用默认值,也可以创建新值。
在代码间导航并在输入时进行重命名
DataGrip能够解析出SQL文件中的对象引用。如果对变量或是别名进行了重命名,那么所有用到他们的地方都会相应地进行重命名。如果在SQL中重命名了数据库对象,实际的数据库中也会进行重命名。DataGrip能够正确解析出SQL代码中所有的引用,并帮助你对其进行重构。
IDE会展示出对象(表、列等等)的使用,还会在专门的视图中展示出变量。导航工具可以帮助你在编辑器、模式视图等各种上下文中选择对象。
处理数据并探索关系
你可以通过强大的表编辑器添加、删除、以及克隆数据行。通过过滤文本域可以只查看所需的数据,而无需编写WHERE字句。寻找所需数据的另一种方式是使用文本搜索。如果不知道哪一列包含了你所要寻找的数据,那么文本搜索就是一项非常有用的功能了。可以在文本搜索中使用正则表达式。通过外键数据导航可以转到当前行所引用的数据,反之亦然。
分析查询与比较结果
在单击Execute按钮时可以选择让DataGrip做什么事情——执行子查询、执行外部查询,或是执行整个脚本。只想执行特定的一部分代码?只需将其选中并执行即可。DataGrip还提供了执行计划,其结果集类似于表编辑器,包含了相同的选项,如添加/删除行、文本搜索与数据导航等。可以在diff查看器中比较两个结果集。
DataGrip基于IntelliJ Platform,带来了:
感兴趣的读者可以通过这里了解到关于CSV编辑器、图表、参数化查询等的更多信息。
下面是关于DataGrip的一些FAQ,便于让读者了解DataGrip的情况:
DataGrip是通过JetBrains ToolBox的形式作为“All Products”包的一部分么?
是的,它既是一个Single IDE,也是“All Products”的一部分。如果已经有了“All Products”,那么你就可以使用DataGrip了。
DataGrip是不是重复了JetBrains的其他IDE中数据库工具的功能?
没错,第一个版本主要关注于核心功能。
我可以在DataGrip中使用上面没有列出的SQL方言么?
可以,JDBC驱动是唯一之所需。
是否有计划提供存储代码调试、管理工具与NoSQL特性?
有的,我们会在未来的版本中增加进这些功能。
我可否向你们提供反馈呢?
当然了!请通过网站的反馈表单、问题追踪器、社区论坛与Twitter向我们递交反馈,我们非常欢迎。
DataGrip一经发布,立刻在国外各大论坛与讨论组中引起了人们的广泛兴趣。很多人都对其赞不绝口。值得一提的是,就在前不久,JetBrains更新了旗下的所有产品,如PyCharm、RubyMine、AppCode、WebStorm等,并且使用了新的Logo,网站也进行了改版。
尽管现在已经有相当数量的免费数据库客户端,但JetBrains依然对自己提供的收费产品DataGrip充满了信心。感兴趣的读者可以试用DataGrip,它提供了30天的免费试用期。相信会给你带来不一样的感觉。