DataGrip 2022.1, nuestra primera gran actualización de 2022, ya está aquí. Está repleto de varias mejoras y perfeccionamientos para una mejor usabilidad. Echemos un vistazo más en profundidad.
Esta es, sin duda, la característica más destacada de esta versión. Ya puede seleccionar varias tablas y copiarlas en otro esquema.
Seleccione las tablas que desea copiar y pulse F5 para abrir el cuadro de diálogo de exportación.
Al igual que con la exportación de una tabla individual, puede asignar las columnas, así como ver y cambiar el DDL de la nueva tabla.
Como ya sabrá, DataGrip admite la exportación entre DBMS, lo que significa que el esquema de destino puede pertenecer a cualquier base de datos de su proyecto. Copiar todas las tablas de su base de datos PostgreSQL a SQL Server es pan comido.
También puede especificar una tabla existente, en lugar de una nueva, como destino. Si lo hace, los datos de la tabla de origen se añadirán a la tabla de destino.
Hemos añadido un nuevo ajuste, Automatically detect binary values, con dos opciones: UUID y Text. Ahora se puede desactivar la detección de UUID.
Ahora puede editar los resultados de las consultas a las colecciones de MongoDB directamente desde una consola. Esto funcionará incluso si .find() va seguido de métodos como sort() o limit().
Cuando se ejecutan varias declaraciones simultáneamente en Transact SQL, se ejecutan en el modo por lotes. Anteriormente, esto dificultaba la presentación de resultados en el editor para cada consulta, pero ahora DataGrip maneja bien esta situación.
Además, DataGrip ahora elimina todas las declaraciones SQLCMD cuando se ejecutan consultas en modo lote (ver DBE-14920 para obtener más detalles).
DEFAULT
ahora se genera correctamente. A veces, la introspección requiere permisos especiales, que se conceden a usuarios especiales. Ahora es posible utilizar credenciales específicas para la introspección. Para ello, cree primero una plantilla de sesión específica en la pestaña Options.
A continuación, utilice esta plantilla para la introspección seleccionando su nombre en el campo Use session template de la sección Introspection.
Ahora puede actualizar un objeto independientemente de todos los demás objetos de la base de datos.
Esto puede ser especialmente útil si está utilizando nuestra nueva funcionalidad Introspection levels. Si necesita ver el código fuente de un solo objeto, puede hacerlo fácilmente haciendo clic en el botón Refresh Object del explorador de la base de datos.
Además, cuando abra el editor de fuentes del objeto, DataGrip le ofrecerá la opción de introspección del objeto seleccionado.
Hemos añadido compatibilidad con la versión 2.x de H2. Esta es la lista de cambios:
ARRAY
y ROW
. Ahora estamos distribuyendo el controlador JDBC para YugabyteDB, y puede crear una fuente de datos de YugabyteDB con un solo clic.
Estamos modificando ligeramente la ventana Modify Table. La nueva versión tendrá una interfaz de usuario totalmente generada basada en propiedades introspectivas, lo que le permitirá tener varios parámetros específicos de la base de datos.
Por ahora, solo estamos publicando una pequeña parte de la actualización, pero ya puede ser bastante útil. La nueva ventana Modify Table permite añadir y editar las restricciones de control de columnas, algo que antes era imposible. Además, ahora puede editar todas las propiedades de las tablas y columnas que introspecciona DataGrip.
Creemos que apreciará especialmente la nueva interfaz de usuario para las columnas, ya que no se expanden ni se contraen, algo que a muchos usuarios les parecía frustrante.
AUTO_INCREMENT
. Hemos introducido un botón que permite intercambiar el origen y el destino al comparar objetos o esquemas.
Estamos mejorando constantemente la calidad de nuestra ventana de visualización diff de la base de datos, recientemente introducida. Algunas correcciones se publicaron en la versión 2021.3, pero otras son nuevas de la 2022.1, entre ellas:
Hemos introducido una nueva y práctica intención, Convert To Subquery. Ya no es necesario utilizar Surround Live Template para convertir las subconsultas. De hecho, ni siquiera tiene que molestarse en seleccionar una consulta. Basta con pulsar Alt+Intro| Convert To Subquery.
Los tipos multirrango se incorporaron en PostgreSQL 14; hemos añadido compatibilidad con los integrados.
Más adelante serán compatibles los tipos multirrango personalizados.
ROWS FROM
. JSONB
. BEGIN ATOMIC
. ALTER MATERIALIZED VIEW
. USING INDEX ENABLE
. CREATE MATERIALIZED VIEW LOG
. WITH TAG
en la declaración CREATE STAGE
. EXECUTE
. JSON
ahora se resalta correctamente dentro de las declaraciones. QUALIFY
ahora es compatible. UNNEST
. UNION DISTINCT
ahora es compatible. Anteriormente, cuando se pulsaba varias veces el botón Cancel statement, parecía que la consulta había terminado, pero en realidad la solicitud seguía ejecutándose en la base de datos.
Había una lógica complicada detrás de este comportamiento. En el primer clic, DataGrip enviaba una solicitud de cancelación a la base de datos, mientras que en el segundo clic cancelaba el proceso del controlador JDBC para terminar todas las conexiones con la fuente de datos (nos referiremos a esto como desactivación de la fuente de datos). Como resultado, DataGrip recibía un error para la segunda solicitud de cancelación porque la conexión se perdía, no porque la cancelación se completara realmente.
Ahora hemos hecho que la lógica de la cancelación sea más sencilla. Afortunadamente, ahora está más claro que es la solicitud la que se cancela:
Ya no desactivamos las fuentes de datos sin una advertencia, ya que eso puede ser potencialmente peligroso para algunos procesos que ocurren simultáneamente. Así, si hace clic por segunda vez en el icono Cancel, DataGrip le preguntará si realmente quiere detener el proceso remoto o si desea seguir esperando. Si elige desactivar la fuente de datos, la consulta se detendrá para DataGrip, pero seguirá ejecutándose en la base de datos.
Después de 10 segundos de cancelación inactiva, se le ofrecerá la opción de desactivar la fuente de datos de todos modos.
Una vez cancelada la consulta, aparecerá a la izquierda de esta un icono del medianil que se asemeja al símbolo «No».
Anteriormente, cuando se intentaba detener una solicitud mientras se creaba una conexión, la fuente de datos se desactivaba.
Ahora puede interrumpir no solo la ejecución de una solicitud, sino también la creación de una conexión. Esto es especialmente relevante para la primera consulta en la consola, que también crea una conexión.
Ahora puede detener el proceso de creación de una conexión sin desactivar la fuente de datos: si hace clic en el botón Cancel mientras se está creando la conexión, esta se detendrá y se mostrará el mensaje Connection canceled.
Esto es relevante para algo más que las consultas desde la consola de consulta. Por ejemplo, si se crea una conexión antes de iniciar una introspección, al interrumpir la introspección se cancelará la creación de la conexión sin desactivar la fuente de datos.
La estructura de la configuración Preferences para la sección de base de datos no ha cambiado desde la primera versión de DataGrip. Decidimos que era el momento de mejorar la usabilidad de la sección actualizando la estructura. Esto es lo que se nos ha ocurrido:
El ajuste Track databases/schemas creation and deletion se ha trasladado de la sección General a Data Source Properties | Options y ahora se refiere a una fuente de datos específica. Esta configuración identifica si la lista de esquemas debe actualizarse después de crear o eliminar esquemas en la consola de consulta.
Otros ajustes siguen siendo globales, pero ahora se incluyen en secciones más apropiadas.
Tenga en cuenta que, como parte de esta actualización, estos ajustes se restablecerán a sus valores predeterminados:
Ahora puede distribuir el espacio de trabajo entre las pestañas del editor para que tengan la misma anchura. Para configurarlas, vaya a Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits.
Ahora se pueden exportar diagramas como archivos yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot con posiciones, Mermaid .md, Plantuml, e IDEA .uml, lo que los hace compatibles con herramientas de terceros.