DataGrip 2018.3:支持Cassandra,从对象生成SQL文件,对自动完成功能进行了许多改进等

你好 这是关于我们的数据库插件中的新功能的故事。 我们将其作为单独的DataGrip产品发布,并将其运送到几乎所有其他IDE。 将有许多图片和GIF。 对于那些懒得看他们的人:

  • Cassandra支持
  • 从架构对象创建SQL文件
  • 新检查
  • 很多新的自动完成件
  • 通过一个连接使用数据源
  • 新搜寻
  • 高对比度配色方案

感谢那些尝试使用EAP版本并将问题报告给我们的跟踪器的人:这有助于避免将它们拖到发行版中:)活跃用户已经获得了一年的免费订阅。

图片

Cassandra支持


我们正在慢慢掌握NoSQL数据库。 到目前为止,只有那些使用类似SQL的语言进行查询的语言。 我们在2018.2.2中支持Clickhouse,在此版本中,我们添加了Cassandra。



自动完成


这个子系统有很多新功能。

添加了在表名后自动插入别名的功能。 如果我们建议的假名不适合您,请指明用于特定名称的假名。



结果,它的工作方式如下:



使用GROUP BY时, DataGrip将提供未聚合列的列表。



SELECT子句提供所有列列表



自动完成功能适用于命名参数



我们还添加了名称相同的上下文信息。



最终完成后缀完成 :这是他们写点与对象相关的东西的时候。



例如,如果在SELECT之后输入Table.afrom的名称,则FROM子句将扩展到列列表中。 或者,我们认为最方便的是,您可以将.cast添加到列或变量中。

最好看一次:



自动完成功能对于窗口功能而言变得更好:自动添加OVER()并将笔架放置在正确的位置。



重构


现在是时候该做的重要事情:使用别名而不是表。 单击表Alt + Enter→介绍别名。 用法表将替换为别名。



在先前的发行版之后,我们收到了speshuric的详细反馈。 例如,他发现许多提取子查询作为CTE的脚本不明显 可以通过菜单Refactor→Extract→Subquery as CTE来调用此重构,但是我们建议您习惯于Find Action (Ctrl + Shift + A)。



我们做了什么:

-CTE的新名称与现有名称不冲突: DBE-6496
-如果请求包含在另一个表达式中,我们会正确确定上下文: DBE-6503DBE-6517
-对于AS TableNameDBE-6490,我们不提供重构
-支持MySQL 8。
-在深层子查询中可以正常工作。 DBE-7332DBE-7333

代码生成


可以将代码模板附加到方言 -模板可以用于某些基础,而不能用于其他基础。



更重要的是:同一模板可以为不同的数据库生成不同的代码。 为此,请为每个方言创建模板组,因为同一组中不支持相同的模板名称(默认情况下,我们将模板存储在SQL组中)。

例如,我们要创建一个模板以从表中提取前n行。 PostgreSQL和SQL Server为此使用不同的语法,我们将始终使用seln模板。 因此,在两个不同的组中实现两种模式,并为它们分配相应的方言。



原来是这样的:



现在,可以从SELECT子句生成具有相同签名的表 。 为此,请按Alt + Enter->创建表定义



INS模板的一个小修正- 列名的工具提示会自动显示。



代码分析


我们增加了有关不安全的 DELETEUPDATE的检查-我们将警告您,您将丢失数据。





如果您运行,我们将进行澄清:)



另一项检查将从子查询中找到未使用的



另一个是未使用的代码。



数据库对象


SQL Generator( Ctrl / Cmd + Alt + G )学会了将结果写入文件 :为此,单击保存按钮。

默认情况下,有两种组织文件的方法可用,但是如果需要更多方法,请在注释中写。



或者现在,如果您单击右侧的铅笔,则可以在groovy上编辑相应的脚本。 或创建自己的。



PostgreSQL中支持的扩展



我们在信息窗口的数据源中显示统计信息(对于Windows / Linux,为Ctrl + Q,对于OSX为F1),其中包括不同对象的数量。



并且在生成删除对象的代码时,添加了使用放置级联语法选项。



连接方式


在当前版本之前,每个新控制台都意味着一个新连接。 不需要控制台的其他内容也创建了单独的连接:运行脚本,导入,用于创建表的图形界面。 在2018.3中,如果在数据源的属性中启用`` 单一连接模式'' ,则所有操作都将通过一个连接进行。

结果,临时对象将出现在树中,并且控制台和数据编辑器将在同一事务中工作。 这是全面管理我们要解决的连接的第一步。



他们还做到了这一点,以便IDE自身在空闲时间后重新连接

搜索和导航


IntelliJ平台引入了一种新的搜索 :它组合了零散的不同类型的搜索: 随处搜索查找操作转到表/视图/过程/转到文件转到符号 。 在DataGrip中,第二个选项卡称为Tables,在其他IDE中,其称为Classes。 但是她做同样的事情:她同时搜索数据库对象和类。 Tab键可切换标签。

我们尚未认真更改搜索算法:如果您突然间习惯于搜索良好的内容,但是现在搜索效果很差,请写下。



现在可以在“查找路径” 中一次找到几行 。 对于SQL尤其有用-查询可以在对象的源代码中找到。



现在, TODO注释可以是多行的。 为了在这样的注释中捕获以下各行,请在注释符号之间用空格分隔。 以这种方式呈现的任务将落入TODO工具窗口

画面更清晰:



介面


新的配色方案形成了鲜明的对比。



切换如下方案:按Ctrl +`,然后选择外观。

出现了一个菜单,用于在其属性窗口中选择数据源的颜色



并且在页面上的行选择框中添加了一点友好。 以前,为了显示所有行的结果,您必须在此处编写-1 :)

现在有一个复选框。



仅此而已!

此处有更多详细信息
下载试用版一个月
我们读高音扬声器
我们阅读邮件
错误跟踪

DataGrip团队

Source: https://habr.com/ru/post/zh-CN431646/


All Articles