Релиз DataGrip 2016.3

в 14:44, , рубрики: DataGrip, jetbrains, Microsoft SQL Server, mysql, postgresql, sql, sql server, базы данных, Блог компании JetBrains

Привет! Этот пост о том, что нового в DataGrip 2016.3. Напомню, что описанное справедливо и для других IDE на платформе IntelliJ с поддержкой баз данных: PHPStorm, PyCharm, RubyMine и, конечно, IntelliJ IDEA. Кроме одной маленькой возможности, о чём отмечу отдельно.

Этот релизный цикл был очень важным — удалось многое из того, что нас долго просили сделать: поддержка триггеров, поиск использований внутри представлений и функций, отложенное редактирование таблиц. Благодарим тех, кто не стесняется тестировать наши инструменты и пробует новые версии задолго до релиза.

Итак, DataGrip 2016.3!

Релиз DataGrip 2016.3 - 1

Хранилище исходников

Использования таблицы или представления ищутся не только в исходном коде, но и внутри других объектов базы данных: функциях, процедурах и других представлениях.

Это работает так: DataGrip выгружает исходники объектов в хранилище, куда и обращается при надобности. По умолчанию загружаются коды из всех схем, кроме системных. Настроить это можно в свойствах источника данных, вкладка Options.

Для включения хранилища запустите Forget Schemas из контекстного меню, а потом обновите источник данных — нажмите на Synchronize в панели инструментов.

Релиз DataGrip 2016.3 - 2

Пробуем: как всегда, Alt+F7 найдёт использования текущего объекта в скриптах. А теперь и внутри других объектов. Справа видно, в каком месте кода нашлось вхождение.

Релиз DataGrip 2016.3 - 3

Как я уже написал, мы загружаем исходники триггеров для популярных СУБД: MySQL, PostgreSQL, SQL Server, Oracle и Sybase. А для PostgreSQL ещё и исходники правил. Теперь можно удалить триггер из контекстного меню.

Релиз DataGrip 2016.3 - 4

Починили баги с исходными кодами представлений — теперь они показываются верно во всех местах. Для каждого объекта, исходники которого мы записали в хранилище, доступно Open DDL In Console в контекстном меню.

Релиз DataGrip 2016.3 - 5

Не забыли и о материализованных представлениях в PostgreSQL. Загружайте исходные коды, обновляйте данные в них из контекстного меню.

Релиз DataGrip 2016.3 - 6

Когда вы редактируете исходные коды объектов из хранилища, DataGrip отслеживает изменения и подсвечивает их на лету в боковой панели.

Важно понимать, что редактор процедур, функций и представлений показывает локальную версию исходного кода, которая хранится у вас всегда, даже если вы перезапустите IDE. Проще говоря, если вы напишите и выполните здесь запросы, не относящиеся к объекту, они всё равно сохранятся и будут отображаться каждый раз, когда вы редактируете объект. Так что лучше ничего лишнего здесь не запускать :)

Релиз DataGrip 2016.3 - 7

А если таких изменений много, и они все ещё не отправлены в базу, то их список ищите в Tools → DataBase changes. Внимание! Этого окна в других наших IDE нет, только в DataGrip.

Релиз DataGrip 2016.3 - 8

Инструмент сравнения поможет узнать, что поменялось для каждого из объектов.

Релиз DataGrip 2016.3 - 9

Комментарии при создании процедур сохраняются в базе.

Релиз DataGrip 2016.3 - 10

Редактор данных

Редактор данных постепенно превращается в мощный инструмент: умеет то, чего обычно от него в IDE для баз данных не ждут.

Главное нововведение в этой версии — отложенное редактирование: ваши изменения хранятся локально и подсвечиваются, пока вы не отправите их в базу по Ctrl+Enter (Cmd+Enter для OSX). Пока изменения не отправлены, их можно откатить: Ctrl+Z (Cmd+Z для OSX) отменит только те изменения, которые выделены. Соответственно, прежде, чем отменить всё, нажмите Ctrl+A (Cmd+A для OSX) .

Релиз DataGrip 2016.3 - 11

Редактируйте несколько ячеек одновременно. Конечно, это работает, если они все одного типа и не имеют ограничений по уникальности.

Релиз DataGrip 2016.3 - 12

Кроме того, мы добавили конвертацию — теперь данные можно копировать из ячеек одного типа в другой. А с учётом предыдущего, копировать колонками: даты в строки, логические значения в числа и так далее. Это сработает, даже если исходная таблица и таблица назначения находятся в базах от разных СУБД.

Релиз DataGrip 2016.3 - 13

И небольшие изменения: в редакторе данных, теперь, как и в тексте, работает Выделить следующее появление по Alt+J (Ctrl+G для OSX). Можно выделять несколько полей сразу.

Релиз DataGrip 2016.3 - 14

Ещё одна знакомая вещь из текстового редактора — так называемое «умное» выделение по Ctrl+W (Alt+Up для OSX) — в редакторе данных работает так: сначала выделяется активная колонка, потом активная строчка, потом всё.

Релиз DataGrip 2016.3 - 15

Поддержка SQL-кода

Автодополнение предложения INSERT предлагает в том числе вариант только с полями, у которых нет значения по умолчанию.

Релиз DataGrip 2016.3 - 16

Если параметр или переменная не используются, вам сообщат.

Релиз DataGrip 2016.3 - 17

Также вас предупредят, если количество колонок при сочетании результатов запросов не совпадает.

Релиз DataGrip 2016.3 - 18

Автодополнение для JOIN USING, основанное на поиске колонок с одинаковыми именами, теперь работает для PostgreSQL.

Релиз DataGrip 2016.3 - 19

Поиск использования параметров по Alt+F7 в PostgreSQL понимает ссылки типа $n.

Релиз DataGrip 2016.3 - 20

Навигация по методам, знакомая по другим нашим IDE, у нас стала навигацией по запросам. Сочетания клавиш: Alt+Up и Alt+Down (Ctrl+Down и Ctrl+Up для OSX).

Релиз DataGrip 2016.3 - 21

Интеграция с mysqldump и pg_dump

Релиз DataGrip 2016.3 - 22

Для параметров работает дополнение по Ctrl+Space.

Релиз DataGrip 2016.3 - 23

Разное

Ещё когда DataGrip назывался 0xDBE у нас был XML-экстрактор данных — любой набор данных экспортировался в XML. Мы его убрали, но многие просили вернуть обратно: вернули.

Релиз DataGrip 2016.3 - 24

Получается вот что:

Релиз DataGrip 2016.3 - 25

Ускорили запуск больших скриптов из контекстного меню — теперь мы отправляем запросы в базу не по одному, а пакетами.

Релиз DataGrip 2016.3 - 26

Ну и напоследок. Многие, наверное, заметили: у нас новые иконки!

Релиз DataGrip 2016.3 - 27

А также:

  • Поддержка грамматик SQL Server 2016 и PostgreSQL 9.6
  • Автоматическое определение, устарел ли драйвер
  • Добавили Drop в контекстное меню многих объектов
  • Шрифт FiraCode с лигатурами идёт из коробки
  • Поддержка Auto-inc для таблиц в SQLite
  • Поддержка Expression index в SQLite

Если понравилось, а вы ещё не пробовали DataGrip, скачайте бесплатную пробную версию и пишите нам здесь, в комментариях, что вы думаете. Ещё мы ведём и читаем твиттер, а об ошибках лучше сразу сообщать в треккер.

Часто оказывается, что о некоторых возможностях DataGrip люди просто не знают, так что не лишним будет и посетить наш сайт, где описано, что умеет DataGrip.

Спасибо!
Команда DataGrip
_
JetBrains
The Drive to Develop

Автор: JetBrains

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js