У IDE на платформе IntelliJ появилось новое окно инструментов: Services. В DataGrip здесь отображены соединения.
Каждое соединение имеет свой узел под соответствующим источником данных. Если на соединении горит зеленый кружок, значит, оно активно. Закрыть соединение можно из контекстного меню.
Каждый узел дерева, будь то служба, источник данных, соединение, можно открыть в отдельной вкладке: нажмите Show in New Tab на панели инструментов или используйте drag-and-drop.
Результаты запросов прикреплены к соответствующим соединениям.
Важно: сочетание клавиш для отображения/скрытия окна Services — Alt+8.
Если хотите вернуть вид «как раньше», отключите дерево служб в настройках отображения, нажав на иконку шестеренки.
В окне Services добавили возможность смотреть, сколько времени занимает запрос: часы тикают справа от консоли, из которой он запущен.
Еще одна служба, которая может появиться в этом окне, — Docker, если вы используете соответствующий плагин.
Ищите данные, даже если не помните, где они хранятся. Выделите источник данных, группу источников или, наоборот, только отдельные таблицы, и выберите Full-text search в контекстном меню. Или нажмите Ctrl+Alt+Shift+F.
В диалоговом окне введите, что искать. Слева будет список источников данных, и вы можете указать параметры поиска.
В нижней части окна показаны запросы, которые DataGrip выполнит для поиска.
По завершении поиска, вы увидите список результатов.
По клику на результат откроется редактор данных, в котором будет применен фильтр, чтобы показать только найденные строчки. Если столбцов слишком много и непонятно, где то, что вы нашли, используйте текстовый поиск: Ctrl+F.
В некоторых базах данных вы можете ограничить поиск столбцами, имеющими индекс. Для этого выберите Only columns with full-text search indexes в списке Search in.
where col @@ plainto_tsquery('text')
. where match(col) against ('text' in natural language mode)
. WHERE CONTAINS(col, N'text')
. where col MATCH ‘text’
. Если выбран режим All columns, поиск ищет в столбцах, для которых не поддерживается LIKE
. Например, JSON-столбцы будут предварительно сконвертированы в строку.
In Apache Cassandra, DataGrip creates several queries for one table, because the OR
condition isn’t supported by the database.
Меняйте размер страницы в редакторе данных, не заходя в настройки.
Теперь вы сами можете называть вкладки результатов: напишите имя в комментарии перед запросом.
Если вам не нравится, что любой предшествующий комментарий становится именем, укажите слово, после которого будет идти строка для заголовка. Это делается в соответствующих настройках: поле Prefix.
Копировать таблицы при помощи drag-and-drop можно давно, но раньше это не работало, если перетаскивать в ту же схему. Теперь работает! Удобно, если делаете бэкап данных перед важной операцией.
Создавайте группы источников данных, перетаскивая один источник на другой.
Если нужно переместить источник данных в существующую группу, это тоже делается мышкой.
С версии 2019.2 маленький зеленый кружок на иконке источника данных означает, что соединение с ним активно.
Новое действие Force Refresh подгрузит информацию обо всех объектах базы, предварительно очистив кэш.
Если у вас много похожих баз данных, было неудобно искать объекты: например, если вы ищете таблицу, а таких таблиц у вас десять, они все показывались в выдаче.
Сейчас можно указывать, где искать: выберите конкретный источник данных или группу источников.
То же работает при поиске кода в Find In Path.
В базах данных есть системные каталоги — там хранятся метаданные: информация о таблицах, процедурах, встроенных функциях.
Объекты из этих каталогов часто используют в запросах, поэтому их нужно показывать в автодополнении и правильно подсвечивать: IDE не должна думать, что это какие-то неизвестные объекты.
Раньше, чтобы это работало, системные схемы надо было добавлять в проводник, потому что DataGrip «знала» только о тех объектах, которые проинтроспектированы. Но системные схемы не меняются, получать информацию о них каждый раз не имеет смысла. К тому же, они не всегда нужны в проводнике и мешаются там с рабочими схемами.
Значок молнии напротив схемы означает, что информация о ее объектах всегда есть у DataGrip, даже если вы не добавили ее в проводник.
Вот примеры некоторых системных схем:
Теперь из окна предупреждения можно сразу решить проблему, о которой вам сообщили. Например, в окне об опечатке DataGrip предлагает ее исправить, а если IDE предупреждает о том, что нет псевдонима, вам тут же предлагается его завести. Для этого кликните действие слева внизу или нажмите Alt+Shift+Enter.
Alt+Enter по-прежнему работает и показывает список всех возможных действий в данном контексте.
Мы также добавили несколько новых инспекций.
Если оператор CASE
можно убрать и привести код к более читаемому виду, DataGrip предложит сделать это.
С использованием IF
:
С использованием COALESCE
:
Теперь вы можете конвертировать GROUP BY
в DISTINCT
, если все столбцы в предложении SELECT
есть и в GROUP BY
.
IDE предупредит, если записываемое значение строки длиннее предполагаемого.
Мы изменили поведение движения каретки по умолчанию. Теперь DataGrip передвигает каретку к концу текущего слова, если вы прыгаете по словам.
Это поведение настраивается в настройках: Editor | General.
Обычно это действие выполняется стрелками при нажатом Ctrl для Windows/Linux и нажатом Opt для MacOS. Поведение по умолчанию в разных операционных системах отличается: теперь в DataGrip это работает «как на Маке».
Раньше:
Теперь:
Добавили новое действие: Select current statement. Его можно найти при помощи Find Action (Ctrl+Shift+A). Если используете действие часто, назначьте сочетание клавиш.
Большие числа можно сворачивать при помощи Ctrl+Minus.