导入/导出
复制多个对象
这无疑是本次发布的亮点。现在,您可以选择多个表并将其复制到另一个架构。选择要复制的表,然后按 F5 打开导出对话框。
与导出单个表一样,您可以映射列,以及查看和更改新表的 DDL。
如您所知,DataGrip 支持跨 DBMS 导出,这意味着目标架构可以属于项目中的任何数据库。将所有表从 PostgreSQL 数据库复制到 SQL Server 非常简单。
您还可以指定现有表(而不是新表)作为目标。如果这样做,源表中的数据将添加到目标表中。
质量改进
DBE-5200:现在,即使源文件中的行具有不同数量的列,“编辑为表”操作也可以正常工作。
DBE-14541:向单列 CSV 文件添加行现在工作正常。
DBE-14735:修复了同时导出包含时间戳的表的错误。
数据编辑器
二进制单元格的默认显示格式
我们添加了一个新设置“自动检测二进制值”,其中包含两个选项:“UUID”和“文本”。现在可以禁用 UUID 检测。
编辑查询结果中的字段 MongoDB
现在,您可以直接从控制台编辑对MongoDB集合的查询结果。即使 .find() 后跟 sort() 或 limit() 等方法,这也有效。
在批处理模式 SQL Server 中支持编辑器内结果
在 Transact SQL 中同时运行多个语句时,它们将以批处理模式执行。以前,这使得很难显示每个查询的编辑器内结果,但现在 DataGrip 可以很好地处理这种情况。
此外,DataGrip 现在在批处理模式下运行查询时会删除所有 SQLCMD 语句(有关详细信息,请参阅 DBE-14920)。
质量改进
DBE-8561:在日期选取器外部单击不再会导致更改丢失。
DBE-9632:Enter 键现在用于在日期选取器中保存值。
DBE-11706:日期选取器现在支持 Tab 键。
DBE-9974:现在可以将.csv文件与“以表格形式查看”解除关联。
DBE-13040:我们使显示隐藏列变得更加容易 - 只需单击列列表中的隐藏列即可。
DBE-14516:对于完全加载的值,不再显示单元格大小指示器,而是使用等宽字体,因此内容整齐对齐。
DBE-14670:Geo 查看器现在可以正确同步。
DBE-10851:我们修复了树视图模式下的字体问题。
DBE-9710:Oracle 时间戳值现在遵循时区。
DBE-14852:MariaDB,Aurora MySQL 空白日期现在正确显示在数据编辑器中。
DBE-15009:Sybase ASE 所有列现在都显示在结果视图中。
DBE-15031:Snowflake 现在已正确生成对具有值的表的更新查询。DEFAULT
该列的上下文菜单现在也显示在转置视图中。
内省
用于自省的会话模板
有时,自省需要特殊权限,这些权限授予特殊用户。现在可以使用专用凭据进行内省。为此,请首先在“选项”选项卡中创建专用会话模板。
然后,通过在“自省”部分的“使用会话模板”字段中选择其名称,将此模板用于自省。
碎片内省 甲骨文
现在可以独立于数据库中的所有其他对象刷新对象。
如果您使用的是我们新的内省级别功能,这可能特别有用。如果只需要查看单个对象的源代码,可以通过单击数据库浏览器中的“刷新对象”按钮轻松执行此操作。此外,当您打开对象的源代码编辑器时,DataGrip 将为您提供自省所选对象的选项。
支持版本 2.x H2
我们添加了对 H2 版本 2.x 的支持。以下是更改列表:
DataGrip 现在可以正确地内省类型。大多数问题都与复合类型有关:和 。ARRAYROW
具有内置序列(auto_increment、始终作为标识生成的列等)现在可以正确进行内省。
检查约束和外键不再丢失。
为视图、触发器和例程加载源。
将显示有关域的检查谓词的信息。
添加到基本支持 YugabyteDB
我们现在为 YugabyteDB 提供 JDBC 驱动程序,您只需单击一下即可创建 YugabyteDB 数据源。
Quality improvements
DBE-13521: ClickHouse The source code of materialized views is now introspected.
代码生成
新版本的修改表
我们正在稍微修改“修改表”窗口。新版本将具有基于自省属性的完全生成的UI,这将允许它具有各种特定于数据库的参数。目前,我们只发布了更新的一小部分,但它已经非常有用。新的“修改表”窗口允许您添加和编辑列检查约束,这在以前是不可能的!此外,您现在可以编辑 DataGrip 自省的所有表和列的属性。
我们认为您会特别欣赏列的新UI,因为没有折叠或扩展,许多用户发现这令人沮丧。
质量改进
DBE-15000,DBE-15001:PostgreSQL 现在在编辑授权时会生成正确的代码。
DBE-5136:SQL Server 现在,通过“修改表”删除具有约束的列时,您将获得有效的脚本。
DBE-14760:MySQL“修改表”窗口不再损坏功能索引。
DBE-2827:MySQL 可以修改属性。AUTO_INCREMENT
DBE-14801:雪花 生成的 DDL 脚本包含用于创建默认序列的语句。
数据库差异查看器
交换源和目标
我们引入了一个按钮,可让您在比较对象或架构时交换源和目标。
质量改进
我们不断改进最近推出的数据库差异查看器窗口的质量。某些修复程序在 2021.3 版中发布,但有些修复程序是 2022.1 版中的新增修复程序,包括:
DBE-15063:用于字符串比较的新智能算法解决了在差异窗口中尊重关键字大小写的问题。
DBE-14686:遵循“重新格式化生成的代码”选项。
DBE-14782:差异查看器会检测可能相同的对象,即使它们的名称不同。
DBE-14431: Oracle 阵列索引越界异常不应再发生。
代码编辑器
转换为子查询意图
我们引入了一个方便的新意图,转换为子查询。您不再需要使用环绕声实时模板来转换子查询。实际上,您甚至不需要费心选择查询。只需按 Alt+Enter |转换为子查询。
更好的自动缩进算法
我们改进了自动缩进算法。有几个与此相关的票证,DBE-14825和DBE-8742,但我们走得更远,考虑了所有可能的情况和情况,所以自动缩进现在应该在任何地方都能正常工作。
支持的多范围类型 PostgreSQL
PostgreSQL 14 中引入了多范围类型 – 我们添加了对内置类型的支持。
将来将支持自定义多范围类型。
质量改进
DBE-11683:PostgreSQL 添加了对语法的支持。ROWS FROM
DBE-11868:PostgreSQL 修复了导致公共表表达式未解决的问题。
DBE-15061:PostgreSQL 修复了导致语法注入不正确的问题。JSONB
DBE-14888:PostgreSQL 添加了对 .BEGIN ATOMIC
DBE-15052:红移 添加了对 的支持。ALTER MATERIALIZED VIEW
DBE-11830:Oracle 添加了对语法的支持。USING INDEX ENABLE
DBE-6548:Oracle 固定语句中的列解析。CREATE MATERIALIZED VIEW LOG
DBE-15095:Snowflake 在语句中添加了对该选项的支持。WITH TAGCREATE STAGE
DBE-14793:Snowflake 添加了对该语句的支持。EXECUTE
DBE-11247:现在,“雪花”在语句中突出显示。JSON
DBE-14843:现在支持 BigQuery。QUALIFY
DBE-13995:现在支持 BigQuery 列。UNNEST
DBE-14504:现在支持 ClickHouse 地图文本。
DBE-15013:现在支持 ClickHouse。UNION DISTINCT
运行查询
取消正在运行的语句
以前,当您多次单击“取消”语句按钮时,查询似乎已终止,但实际上请求继续在数据库中执行。这种行为背后有一些棘手的逻辑。在第一次单击时,DataGrip 向数据库发送了取消请求,而在第二次单击时,它取消了 JDBC 驱动程序进程以终止与数据源的所有连接(我们将此称为数据源停用)。因此,DataGrip 收到第二个取消请求的错误,因为连接丢失,而不是因为取消实际完成。现在,我们使取消逻辑更加简单。希望现在更清楚的是,正在取消的请求:
装订线上的进度指示器在取消请求时显示一个红色方块。
将显示取消进度条。它标识数据源和会话。
我们不再在没有警告的情况下停用数据源,因为这对于同时发生的某些进程可能具有潜在危险。因此,如果您再次单击“取消”图标,DataGrip 将询问您是否真的想终止远程进程,或者是否要继续等待。如果选择停用数据源,则将停止对 DataGrip 的查询,但将继续在数据库中执行查询。
空闲取消 10 秒后,系统将为您提供停用数据源的选项。取消查询后,其左侧将显示类似于“否”符号的装订线图标。
取消连接
以前,当您尝试在创建连接时中止请求时,数据源已停用。现在,您不仅可以中断请求的执行,还可以中断连接的创建。这与控制台中的第一个查询尤其相关,该查询还会创建连接。现在,您可以在不停用数据源的情况下停止创建连接的过程:如果在创建连接时单击“取消”按钮,则连接将停止,并显示“连接已取消”消息。
这不仅仅与查询控制台中的查询相关。例如,如果在开始自省之前创建连接,则中断自检将取消连接的创建,而不会停用数据源。
通用开发环境
返工设置
自 DataGrip 的第一个版本以来,“数据库”部分的“首选项”设置的结构没有更改。我们决定是时候通过更新结构来提高该部分的可用性了。以下是我们得出的结论:
“跟踪数据库/架构的创建和删除”设置已从“常规”部分移至“数据源属性”|选项,现在引用特定的数据源。此设置标识在查询控制台中创建或删除架构后是否需要更新架构列表。其他设置仍然是全局设置,但现在包含在更合适的部分中。请注意,作为此更新的一部分,这些设置将重置为其默认值:
数据源属性|跟踪数据库/架构的创建和删除 – True。
编辑|一般|编辑器选项卡|数据库|始终在选项卡标题中显示数据库对象的限定名称 – False。
编辑|一般|编辑器选项卡|数据库|缩短选项卡标题中的数据源和对象名称 – True。
均匀拆分的标签
现在,您可以在编辑器选项卡之间分配工作空间,使它们具有相同的宽度。要进行此设置,请转到“设置”/“首选项”|高级设置|编辑器选项卡|均衡嵌套拆分中的比例。
将 UML 图导出为其他格式
现在可以将图表导出为yEd .graphml,JGraph .drawio,Graphviz .dot,Graphviz .dot with position,Mermaid .md,Plantuml和IDEA .uml文件,这使得它们与第三方工具兼容。
质量改进
DBE-15043:书签现在提供与数据库资源管理器项相同的导航行为。
DEA-129631:现在支持小数字体大小。