Novedades en DataGrip 2021.2

¡DataGrip 2021.2 ya está aquí! Esta es la segunda actualización principal de 2021 y viene cargada de mejoras. ¡Echemos un vistazo a lo que nos ofrece!

Fuente de datos DLL

La generación de fuentes de datos DDL es un paso más en nuestro desarrollo a largo plazo del versionado de bases de datos sin fisuras. Con esta funcionalidad, puede mantener sus archivos DDL en un sistema VCS y regenerarlos cada vez que se actualice la estructura de su base de datos.

Ahora es posible generar una fuente de datos DDL basada en una real. Los archivos DDL se crean localmente y la nueva fuente de datos se basa en ellos. De este modo, siempre podrá regenerar estos archivos y actualizar la fuente de datos DDL.

Veamos cómo funciona.

Hemos añadido un nuevo elemento de menú, Dump to DDL data source, al menú contextual SQL Scripts.

Cuando se abra el cuadro de diálogo, deberá especificar la carpeta donde se almacenarán los archivos recién creados.

En la pestaña Generation, especifique cómo deben generarse estos archivos DDL.

Por último, haga clic en OK para crear la fuente de datos DDL.

La carpeta con los nuevos archivos se adjunta de forma automática a su proyecto.

Creación de objetos

En la versión 2021.2, puede crear objetos en una fuente de datos DDL a través de la interfaz de usuario. Los archivos correspondientes se crearán de forma local.

Diagramas

Se han añadido las siguientes funcionalidades importantes a los diagramas:

  • Los comentarios de la tabla ahora son visibles
  • Los colores de la tabla se muestran en el diagrama
  • Puede desactivar las combinaciones de bordes

Mejoras en la calidad:

DBE-13057: hemos mejorado el algoritmo que dibuja los diagramas, de modo que los nombres de los objetos ya no se solapan con las líneas de relación.

DBE-13264: las notas ya no se pierden al guardar.

Editor de código

Búsqueda en el historial local

Si busca una revisión concreta del historial local, puede ayudarse de la búsqueda de texto.

Historial local para fuentes

Ahora DataGrip rastrea los cambios locales para los códigos fuente de los objetos. Puede ser especialmente útil cuando se trabaja con procedimientos y funciones.

Dado que las fuentes de cada objeto se almacenan en un archivo, todos los cambios externos se consideran también cambios locales. Cuando se hace una introspección de la base de datos, este archivo se actualiza.

Puede utilizar la ventana emergente del historial local para hacer un seguimiento de cualquier cambio en una función o procedimiento. Tenga en cuenta que todos los cambios externos se consideran un solo cambio si se han producido dentro de las dos ejecuciones de la introspección.

Vuelven los nombres largos para las pestañas

Tras recibir algunos comentarios de usuarios a los que no les gustaban los nombres acortados de las pestañas, hemos introducido la opción de volver a cambiarlos. Si prefiere los nombres largos para las pestañas, desmarque la opción Shorten Tab Titles.

Reducir una selección

Acción Maximize Editor / Normalize Splits

Durante mucho tiempo tuvimos la acción Hide All Tool Windows, a la que se llamaba haciendo doble clic en una pestaña o pulsando Mayús+Ctrl+F12. Muchos usuarios lo consideraron una acción de Maximize Editor y ¡funcionó como tal!

Tras introducir el mecanismo de división, la situación se complicó. ¿Esta acción debería ocultar las pestañas divididas? Hicimos lo siguiente:

  • La acción Hide All Tool Windows ya no oculta las pestañas divididas.
  • La nueva acción Maximize Editor / Normalize Splits maximiza la pestaña actual, pero no oculta las ventanas de herramientas.

Finalización de código

Ámbito de finalización

Ahora es posible definir qué objetos deben aparecer en la lista de finalización de código: objetos solo del cambiador de esquemas (o de la ruta de búsqueda), del ámbito actual o de todos los esquemas.

  • Suggest only search path objects: solo se sugieren objetos de los esquemas elegidos en el cambiador de esquemas.
  • Suggest objects from current scope (configuración predeterminada): la lista se rellenará con los objetos que DataGrip pueda resolver correctamente sin necesidad de calificarlos, es decir, el conjunto de objetos del conmutador de esquemas, las declaraciones USE y el esquema predeterminado.
  • Suggest objects from all available schemas: la lista contendrá todos los objetos de todos los esquemas disponibles.

Esto también se puede gestionar con la finalización inteligente. La finalización inteligente se invoca cuando pulsa la tecla de finalización (normalmente Ctrl+Espacio) varias veces.

  • Si se pulsa una vez o se invoca de forma automática: como se ha descrito anteriormente.
  • Si se pulsa dos veces: todos los esquemas, excepto los desactivados para la introspección.
  • Si se pulsa tres veces: objetos de todos los esquemas y bases de datos disponibles.

Finalización de campos y operadores MongoDB

Ahora, los campos y los operadores están disponibles en la finalización de código para MongoDB. Lea esta publicación para obtener más información.

Finalización de los sinónimos entre bases de datos SQL Server

Ya está disponible la finalización de código para los sinónimos entre bases de datos.

Finalización de INSERT y columnas calculadas

Las columnas calculadas se tienen en cuenta al completar las declaraciones INSERT; no se incluyen en el elemento sugerido.

Mejoras en la calidad

DBE-10515, DBE-2212: los objetos del esquema del contexto actual tienen mayor prioridad en la lista de finalización de código.

DBE-7781, DBE-10650: el alias automático solo aparece cuando es necesario.

DBE-12018: la calificación de la tabla en la finalización de JOIN funciona como estaba previsto.

DBE-12479: se ha aumentado la prioridad de ASC/DESC dentro de una cláusula ORDER BY.

DBE-13341: PostgreSQL La finalización en las declaraciones GRANT/REVOKE funciona como estaba previsto.

Resaltado de código

Compatibilidad con CTE recurrentes en Redshift

Ahora, las consultas que utilizan expresiones de tablas comunes recurrentes se resaltan correctamente y pueden ejecutarse sin seleccionarlas.

Compatibilidad mejorada con CTE en ClickHouse

Ahora es compatible la sintaxis de las expresiones comunes de la tabla, cuando el nombre de la CTE va antes de la palabra clave AS.

Mejoras en la calidad

DBE-3759, DBE-13364, DBE-13365: las inspecciones de los agregados funcionan con mayor precisión.

DBE-10782: ClickHouse Se acabaron las alertas de falsos positivos en la inspección que informa de los argumentos no nulos en COALESCE.

DBE-13188: Oracle Los campos de tipo de registro PL/SQL se resuelven correctamente.

DBE-10550: DB2 Los alias de las tablas se resuelven correctamente.

Explorador de bases de datos

Carpetas separadas para funciones y procedimientos

Si activa la opción Separate Procedures and Function en la configuración del explorador de la base de datos (el icono de la rueda dentada), tendrá efecto inmediatamente.

En el caso de SQL Server, existen nodos específicos para las funciones escalar y tabla. En el caso de PostgreSQL, hay un nodo para las funciones de activación.

Nodos independientes para activadores, claves e índices

Una nueva opción del árbol de la base de datos, Show Constraints and Triggers in the Schema, asigna a los activadores, claves e índices sus propios nodos individuales en el explorador de la base de datos.

 

¿Cuál es la utilidad de esto?

  • Puede encontrar un objeto dentro de un esquema utilizando la búsqueda rápida.
  • Puede ver las columnas justo debajo del nodo de la tabla. Para ello, asegúrese de que la opción Show Empty Groups esté desactivada.

Orden natural de los objetos de la base de datos

Si desactiva la opción Sort Alphabetically en la configuración del explorador de la base de datos, se aplicará la ordenación natural de los objetos.

Este es el aspecto que tiene cuando la opción Sort Alphabetically está desactivada:

Este es el aspecto que tiene cuando la opción Sort Alphabetically está desactivada:

...y cuando la opción Sort Alphabetically está activada:

Introspección

Introspección nativa en CockroachDB

CockroachDB será totalmente compatible con esta versión. DataGrip ya no dependerá de la introspección basada en JDBC, sino que utilizará la nativa.

 

Esto es mucho más rápido que la introspección basada en JDBC. Además, en la versión anterior, role, deftype y check constraint no podían someterse a una introspección. La lista completa de objetos que ahora se pueden someter a una introspección incluye database, role, privilege, schema, sequence, deftype, table, view, mat view, index, column y constraints. Que partitions siga sin poder someterse a una introspección es un problema.

Claves externas virtuales para pg_catalog PostgreSQL

Hace un tiempo, anunciamos un mecanismo para crear claves externas virtuales. Ahora, hemos utilizado este mecanismo para cubrir pg_catalog con claves externas virtuales, lo cual aporta varias mejoras.

En primer lugar, la finalización de JOIN es de ayuda al consultar las tablas del sistema:

En segundo lugar, puede navegar por los datos de las tablas del sistema:

Tablespaces Oracle

Hemos añadido compatibilidad con tablespaces, archivos de datos y archivos temporales. Ahora, se pueden someter a una introspección:

 

También se incluyen en la generación de DDL:

Servidores vinculados SQL Server

Todavía no es del todo compatible, porque los metadatos no están disponibles para los objetos en los servidores vinculados. Los servidores vinculados se muestran en el explorador de bases de datos y se puede generar el DDL para su creación.

Editor de datos

Reducir una selección

Plantillas activas de contexto desde el editor de datos

Introducidas en la versión anterior, las plantillas de contexto activas ahora funcionan desde el editor de datos. Si trabaja con una tabla y desea consultarla, puede hacerlo fácilmente con la ayuda de la acción SQL Scripts.

Opción de ordenación adicional

Recientemente, hemos introducido Alt+Clic para la ordenación adicional. Sin embargo, si prefiere seguir utilizando Clic, puede personalizar este comportamiento:

Reducir una selección

Añadir/borrar columnas MongoDB

Ahora puede añadir columnas en las colecciones MongoDB. Esta acción permite añadir un nuevo campo a cualquier documento de una colección.

 

Delete column borrará los datos no solo de la página que se está mostrando, sino también de toda la colección.

Reducir una selección

Añadir/renombrar columnas en archivos CSV

Con la ayuda del editor de datos de la interfaz de usuario, ahora puede añadir y quitar columnas en archivos CSV.

Copia de la consulta en la consola

Al trabajar en un editor de datos, a veces se utilizan cláusulas complicadas en los campos WHERE y ORDER BY. Si quiere seguir trabajando con la consulta resultante, utilice la nueva acción Copy Query to Console, bajo el icono de la rueda dentada. Se abrirá la consulta en la consola predeterminada.

Reducir una selección

Eliminación de la opción First row en la navegación por claves externas

Para que la navegación sea más rápida, hemos quitado la opción First row. No se mostrará ninguna ventana emergente y se le llevará a la tabla que muestra todas las filas de referencia o a las que se hace referencia.

Calificación en la navegación por claves externas

Si tiene claves externas que apuntan a objetos en otro esquema y estos objetos tienen los mismos nombres, se mostrarán como calificados en la interfaz de usuario de navegación de claves externas.

Mejoras en la calidad

DBE-12545: se guarda el tamaño del campo ORDER BY.

DBE-13055: la zona horaria se muestra siempre para los valores con zona horaria.

DBE-9814: Oracle Los valores de tipo DATE no muestran la hora si esta no se establece.

DBE-12679: Oracle Es posible filtrar por el campo DATE.

DBE-12716: DB2 Es posible filtrar por los campos binary, blob, char for bit data y varchar for bit data.

Importar/Exportar

Enlace a la tabla tras la importación

Al finalizar una importación, aparece un enlace a la nueva tabla en las notificaciones.

Mejoras en la calidad

DBE-13259: la exportación de campos numéricos ya no falla si hay valores no numéricos.

DBE-11370, DBE-13139, DBE-12536: ahora la importación para PostgreSQL, Redshift, Exasol, Hive, Clickhouse, DB2 y HSQL es más rápida.

Navegación

Comportamiento de la tecla Intro en la barra de navegación

Ahora, el comportamiento de la barra de navegación es más sencillo: la tecla Intro siempre expande el nodo.

 

Antes, la tecla Intro abría los datos de las tablas y las consolas de las fuentes de datos.

Si quiere navegar desde el objeto en la barra de navegación en lugar de abrir su nodo, puede utilizar estos accesos directos de navegación:

  • Abrir DDL: Ctrl+B
  • Abrir datos: F4
  • Seleccionar en el árbol de la base de datos: Alt+Mayús+B

Firmas en la ventana emergente Go To

Ahora, al buscar una función, un procedimiento o un operador, DataGrip mostrará la firma en la ventana Go To. lo cual le será de ayuda si utiliza mucho la sobrecarga.

General

Interfaz de usuario traducida

A partir de esta versión, puede disfrutar de la interfaz de usuario de DataGrip completamente traducida a chino, coreano y japonés. La localización está disponible como complemento de paquete de idiomas no incluido, que puede instalar fácilmente en DataGrip. Más de 1,5 millones de usuarios han empezado a utilizar la versión de acceso anticipado parcialmente localizada de nuestros paquetes de idiomas. ¡Ahora, puede disfrutar de la experiencia completa de localización!

Nueva ubicación de los proyectos

En DataGrip, ahora los proyectos se encuentran de forma predeterminada en el mismo lugar que en el resto de IDE basados en IntelliJ: en la carpeta de inicio del usuario, dentro de la subcarpeta DataGripProjects.

 

Su proyecto en DataGrip es un conjunto de fuentes de datos, archivos de consola y temporales, y carpetas adjuntas. Antes, se almacenaban en la carpeta de configuración, lo que significa que cada vez que se actualizaba el IDE, se copiaban los proyectos, junto con la configuración del IDE.

Esto a veces provocaba que la lista de fuentes de datos quedara vacía. Este problema se ha resuelto y ahora DataGrip se comporta de forma coherente con otros IDE.

Debido a errores en la migración del proyecto, aquellos que utilizaron la primera compilación de acceso anticipado podrían haber perdido los favoritos, los marcadores, las configuraciones de ejecución o datos sobre claves externas virtuales. Para restablecerlas, vuelva a migrar desde la versión anterior. Los detalles se describen aquí: DBE-13410.

Configuración

Botones de avanzar y retroceder

Estos botones facilitan la navegación en la ventana Settings y no se pierden en ella.

Ajustes avanzados

Hemos añadido los Advanced Settings como un nuevo nodo en Preferences/Settings. Contiene algunas opciones específicas para cada caso, convenientemente agrupadas por herramienta IDE. La mayoría de los ajustes se han transferido desde el Registry, aunque otros son nuevos.

Cabe destacar un par de ajustes:

  • Margen izquierdo en modo Distraction-free.
  • Posibilidad de establecer que el signo de intercalación se mueva hacia abajo tras utilizar la acción Comment with Line Comment.
  • Personalizar el comportamiento de hacer doble clic en una pestaña.

Acción Show scratch files

La nueva acción Show scratch files (que se encuentra a través de Find Action: Cmd+Mayús+A) muestra una lista de archivos temporales con fragmentos en una ventana emergente. Tiene la misma interfaz de usuario que la ventana emergente de Recent Locations con búsqueda rápida y eliminación.

Gestión de las ventanas emergentes de la ventana de herramientas Services

Cuando una consulta no devuelve datos, no es necesario que aparezca la ventana de herramientas Services si ya estaba oculta. Ahora puede definir qué operaciones hacen que aparezca la ventana de herramientas Services por su cuenta.

Mejoras en la calidad

DBE-12079: PostgreSQL Hemos reformado la herramienta de introspección. Para usted, el principal efecto de la nueva herramienta de introspección es que ya no habrá más duplicados de objetos.

DBE-13164: ya no se congela al escribir declaraciones JOIN con el uso de claves externas virtuales.

DBE-194931: ahora los archivos temporales vacíos se eliminan de forma automática.