Мы, наконец, начали работать над поддержкой MongoDB. Получив более 400 голосов в трекере, мы решили, что сейчас самое время поддержать основные функции.
В проводнике базы данных отображаются коллекции и поля. Мы анализируем первые 10 документов из каждой коллекции, чтобы иметь представление о ее полях. Если вы хотите увеличить это число, укажите его в JDBC-параметре fetch_documents_for_metainfo
на вкладке Advanced в свойствах источника данных.
Сейчас нет поддержки при написании кода, но запросы работают. Для того чтобы запустить запрос, поставьте на него каретку и нажмите Ctrl+Enter или кнопку Run на панели инструментов.
Если вы работаете в IDE с поддержкой JavaScript, запросы будут подсвечены. Подсветку в DataGrip добавим позже.
Просматривать коллекции в табличном виде по страницам. Можно сортировать по значениям и использовать фильтр.
Специально для MongoDB мы сделали древовидный просмотр данных. Чтобы его включить, нажмите на шестеренку, затем View as… | Tree.
Это первая версия давно ожидаемого отладчика для Oracle. Сейчас он работает с процедурами, функциями, триггерами и анонимными блоками.
Не забудьте, что объект должен быть скомпилирован для отладки. Чтобы это сделать, используйте контекстное меню: Database tools | Recompile. Отметьте чекбокс With “debug”.
Если процедура уже скомпилирована для отладки, на ее иконке есть зеленый жучок.
Чтобы запустить отладчик в консоли, нажмите кнопку Debug на панели инструментов.
Подробности об отладчике — у нас в документации (на английском). Мнения, комментарии, пожелания пишите, пожалуйста, сюда.
Когда вы обновляете исходный код объекта, DataGrip предупреждает, если за это время код изменился в базе. Теперь для решения конфликтов вам предложат слияние при помощи трех панелей: слева вы увидите вашу версию, справа — то, что пришло из базы, а в середине — результат их слияния.
Also, if you want to make sure that you won’t accidentally delete someone else’s work by submitting an outdated object, the Warn if editing outdated DDL option should be turned on.
Если настройка pretty-printed отключена, PostgreSQL отдает исходники с большим количеством избыточных скобок:
Мы решили включить ее по умолчанию. В нашем примере скобок не осталось:
Но обратим внимание на то, что PostgreSQL пишет в своей документации:
Код в формате pretty-printed лучше читается, но формат по умолчанию, скорее всего, будет лучше понят будущими версиями PostgreSQL. Поэтому мы советуем не использовать pretty-printed код для дампов.
Раньше не всегда было понятно — запрос все еще выполняется или уже завершен. Мы добавили крутящуюся иконку на панель слева и таймер в текстовый редактор.
Это новый тип визуализации данных от планировщика. Чтобы открыть флейм-чарт, нажмите кнопку слева:
DataGrip предупредит, если вы:
...используете оператор COALESCE
без надобности: например, если первый аргумент никогда не бывает NULL. Вам предложат удалить ненужный код.
...вставляете NULL
в столбец, для которого это запрещено.
...не перечислили все столбцы в предложении INSERT
.
...используете оператор «равно» для сравнения с NULL. Надо использовать специальный оператор IS NULL
.
...используете предложение ORDER BY
в подзапросе. Эта инспекция работает только в SQL Server.
...используете одновременно TOP
и OFFSET
. Это тоже инспекция для SQL Server.
Сравнение с AND
можно конвертировать в BETWEEN
, и наоборот.
JOIN ON
можно конвертировать в JOIN USING
, и наоборот.
Новое действие: сортировка строк по алфавиту. Может быть полезно при работе в CSV-файлами или поиске дубликатов в списке значений.
Сделали поиск по выделенному фрагменту кода. Сначала выделите область для поиска, потом нажмите Ctrl+F. Если хотите искать по всему файлу выделенный фрагмент, нажмите сочетание клавиш еще раз.
Now, if you use filtering in the database explorer, DataGrip will not resolve any objects which are not displayed in the database tree view.
В меню Generate много новых объектов: материализованные представления, коллации, перечисления и не только. Меню вызывается по Alt+Ins.
Теперь, если в результате есть столбцы с одинаковыми именами, мы показываем, из какой таблицы они взяты. Это удобно еще и потому, что эти имена используются при экспорте: например, если вы создаете новую таблицу из результата, у вас не будет конфликта имен.
Действие Modify Table работает из редактора данных. Например, если вы работаете с данными таблицы и решили добавить в нее столбец, просто нажмите Ctrl+F6 и редактируйте таблицу.