Встречайте DataGrip 2022.3! Это последнее большое обновление в этом году. Рассказываем, что вошло в этот релиз!
В DataGrip появилась долгожданная поддержка Redis. Теперь можно подключаться к Redis Single Instance, просматривать значения ключей в окне просмотра данных, писать и выполнять запросы к Redis, пользуясь умными возможностями редактора.
Поддержка охватывает:
В начале года мы открыли ограниченный доступ к новому интерфейсу во всех наших IDE, включая DataGrip.
Так мы познакомили первых пользователей с обновленным внешним видом наших продуктов. Мы постарались учесть отзывы, полученные за время раннего доступа, и готовы представить новый интерфейс всем.
Переключайтесь на него в меню Settings / Preferences | Appearance & Behavior | New UI Preview и делитесь своими впечатлениями!
Мы еще работаем над тем, чтобы максимально адаптировать интерфейс к особенностям DataGrip. Например, для создания конфигурации запуска — крайне важного действия в других IDE — в DataGrip, наверное, не нужна ярко-синяя кнопка. Если вы знаете, как можно улучшить панель инструментов, делитесь с нами своими идеями.
В этой версии мы представляем переработанное решение для синхронизации настроек IDE — это новый встроенный плагин. В настройках вы увидите новую опцию Settings Sync.
Раньше для синхронизации настроек использовались два разных плагина: IDE Settings Sync и Settings Repository.
Если вы пользовались IDE Settings Sync, ваши данные будут автоматически перенесены в новый плагин — дополнительно ничего делать не нужно.
Если вы пользуетесь Settings Repository, рекомендуем пока оставить все как есть, поскольку мы еще не завершили работу над миграцией. Как только все будет готово, вы получите уведомление в IDE.
Настройки хранятся в облаке, привязанном к вашему JetBrains-аккаунту. Если вы пользуетесь разными IDE на платформе IntelliJ с одного аккаунта, ваши настройки синхронизируются автоматически.
Известная проблема: раздел Database в настройках пока нельзя синхронизировать. Мы исправим это в одном из следующих обновлений версии 2022.3.
Обратите внимание, что источники данных к настройкам не относятся. Если вы хотите поделиться источниками данных, следуйте этой инструкции.
Новая концепция позволяет использовать представления без их фактического создания в базе данных. По сути, это просто запрос, который извлекает результат и хранится внутри DataGrip.
Виртуальные представления видны в проводнике, и их можно запустить двойным щелчком мыши.
Обратите внимание, что в SQL-коде использовать виртуальные представления пока не получится.
Теперь можно легко перемещаться по элементам на диаграммах. Работают все основные навигационные действия:
Еще одно долгожданное улучшение: при использовании быстрого поиска теперь можно фильтровать объекты. Все, что не соответствует фильтрам, будет скрыто.
Это изменение будет полезно для тех, кто использует много разных схем. Теперь можно выбирать базы данных или схемы для интроспекции на основе шаблонов регулярных выражений. Для этого нажмите Add Pattern и укажите шаблон регулярного выражения в новом узле. Базы данных и схемы будут выбраны по этому шаблону.
Добавление нескольких шаблонов будет объединять множества, а не создавать их пересечение.
Узел All теперь ведет себя иначе: схема по умолчанию не выбирается автоматически. Вам нужно выбрать между All schemas, Default schema или применить фильтр regexp.
Теперь, если глобальному источнику данных задать цвет, он тоже будет передаваться, когда вы делитесь источником данных.
Чтобы накатить скрипт на любую схему, теперь можно просто перетащить файл скрипта из окна Files.
Теперь можно настроить, формат типов Datetime/timestamp, Time и Date в редакторе данных. Настройки вы найдете в разделе Database | Data Editor and Viewer.
Это работает для трех типов полей:
Datetime/timestamp (с часовым поясом или без него), Time (с часовым поясом или без него) и Date.
WHERE
Выбранный диапазон значений теперь может быть извлечен как часть условия WHERE
:
OR
. AND
. IN
. Если вы выбираете несколько значений, действие Filter by теперь создает соответствующее условие.
Если при текстовом поиске нажать Ctrl/Cmd+F, в поле поиска автоматически подставится значение, на котором стоит курсор. Подобная логика давно применяется в текстовом редакторе.
Значения структур теперь удобно просматривать: каждое вложенное значение отображается в виде отдельного столбца.
Теперь можно заранее посмотреть, как изменится запрос после применения предложения IDE. Превью появляется, когда открыт список доступных intention-действий и вы наводите курсор на одно из них.
Превью можно отключить, нажав F1/Ctrl+Q, когда открыт список intention-действий.
Если в текстовом редакторе ничего не выделено, при нажатии Ctrl/Cmd+C DataGrip автоматически выделяет и копирует строку целиком. Так было и раньше, но мы изменили это действие, чтобы упростить вставку. Теперь содержимое буфера обмена вставляется отдельной строкой, а курсор остается на месте, как на видео:
Мы добавили макет, который называется Per Object By Schema and Type. Если использовать его для генерации SQL для всей схемы, полученные файлы будут разложены по папкам в соответствии с типом объекта (таблица, представление и т.п.).
Возможность создавать виртуальные внешние ключи появилась довольно давно. В основном они используются для:
JOIN
; Основным способом их создания был вызов действия Store Relation на условии JOIN
в запросе. Его было не совсем просто найти, и всей этой функциональности не хватало интуитивности. Вот что мы изменили в этот раз.
Теперь виртуальные внешние ключи отображаются в проводнике базы данных:
Их можно создавать и удалять и в проводнике базы данных, и в диалоге Modify Table.
Во всплывающем окне документации для MySQL и PostgreSQL теперь отображается размер таблицы. Чтобы его увидеть, нажмите на Show table preview.
Теперь можно задать скрипт запуска для шаблонов сессий. Такой скрипт будет запускаться каждый раз, когда создается сессия на основе соответствующего шаблона. Например, это позволяет DataGrip запускать выражение use secondary roles all
для интроспекции в Snowflake.
Мы добавили множество механизмов аутентификации в диалог подключения к MongoDB. Чтобы ими воспользоваться, обновите драйвер до версии 1.16.
В окне просмотра различий между схемами теперь учитываются зависимые объекты. Наиболее важные из них — это столбцы идентификации PostgreSQL. Если связанные последовательности у двух идентичных столбцов отличаются, то эти различия будут показаны при сравнении этих столбцов.
Еще один пример — триггеры, вызывающие процедуру из другой схемы. Теперь разница между такими триггерами будет отображаться, если у процедур разные имена:
Все еще есть два известных ограничения, о которых мы хотим напомнить: