LINUX.ORG.RU

Компания JetBrains выпустила финальную версию IDE для баз данных

 data grip, , ,


1

3

JetBrains выпустила финальную версию IDE для баз данных. Продукт ранее называвшийся 0XDBE теперь получил имя DataGrip.

Желающие ознакомиться с новой версией могут сделать это на сайте компании: https://www.jetbrains.com/datagrip/

Поддерживаемые СУБД
DataGrip — это универсальная IDE для работы с MySQL, PostgreSQL, Oracle, SQL Server, Sybase, DB2, SQLite, HyperSQL, Apache Derby и H2.

Работа с объектами БД и генерация кода.
DataGrip предоставляет инструменты для работы с объектами базы данных. Если вы создаёте или изменяете таблицу, добавляете или изменяете колонку, индекс, ключ в уже существующей, используйте графический интерфейс. Подобные изменения сопровождаются генерацией соответствующего скрипта: вы можете сразу выполнить сделанные изменения в базе или скопировать сгенерированный DDL-запрос в редактор и работать уже непосредственно с кодом.

Автодополнение.
DataGrip поддерживает автодополнение кода, что ускоряет написание запросов. Когда вы набираете код, IDE понимает контекст и делает работу за вас: не только помогает писать код, зная о ключевых словах и именах объектов БД, но и учитывает зависимости при написании JOIN, подсказывает тип параметров для выполнения фукнции, описывает струкруту таблицы в предложениях INSERT. Помимо этого, мы добавили шаблоны (Live Templates) для написания однотипного кода, а вы можете создавать собственные.

Поиск по коду и переименование.
IDE понимает, какие объекты базы вы используете в коде: если переименовать объект в запросе, то же случится и в базе. Переименуйте переменную или алиас в одном месте: это произойдёт во всём скрипте.

Есть поиск использования переменной или объекта (колонки, таблицы) в запросе, а также возможность перехода от использования к месту объявления. Если вы применяете то же самое к объекту, который уже был создан в базе, курсор отправит вас в окно структуры базы данных.

А если в запросе использовано имя объекта, которого нет в базе, например, ошиблись с названием столбца или таблицы, IDE сообщит о проблеме и предложит возможные решения.

Работа с данными.
Табличный редактор в DataGrip может фильтровать данные. Записывается условие в поле Filter criteria, как в предложении WHERE и увидите то, что вам нужно. Текстовый поиск по таблице тоже умеет фильтровать — удобно, если ищете данные, а колонку забыли. Есть навигация по данным — при наличии связи по внешним ключам можно попадать в те строчки таблиц, которые ссылаются на эти по foreign key, и наоборот.

Выполнение запросов.
Выбирайте, что IDE должна запускать, если курсор стоит на вложенном запросе: внутренний, внешний или все запросы скрипта. Для выполнения части запроса выделите код и запустите его. Анализируйте план выполнения запроса для оптимизации. В окне результата запроса доступны многие функции Table Editor, например он позволяет изменять данные и в нём работает текстовый поиск. Сравнивайте два результата в смежных окнах.

DataGrip — IDE на базе платформы IntelliJ, а значит в ней есть:

  • Мощный текстовый редактор с мультикурсорами и синтаксическое выделение кода.
  • Интеграция с системами контроля версий: Git, Subversion, и т. д.
  • Плагины: Terminal, Textmate bundles, и т. д.

Для проектов с открытым исходным кодом компания предоставляет бесплатную версию IDE: https://www.jetbrains.com/buy/opensource/?product=datagrip

>>> Подробности



Проверено: maxcom ()
Последнее исправление: Psych218 (всего исправлений: 6)

Эх... жаль дорогая, для индивидуалов $90.

У них были интересные планы, когда меняли систему лицензирования, куда входили сразу и PHPStorm и PyCharm, такой web bundle, а потом оставили только All Products и все по отдельности =(

BaBL ★★★★★
()

Секундочку, секундочку. :-) Так SQL же не нужен, ведь есть же ORM!!1 И уж кому, как не Java-программистам это знать. :-) И тут Java-программисты пишут IDE для SQL :-) А как же Хибернате? :-) Бугага. :-)

anonymous
()
Ответ на: комментарий от anonymous

Так SQL же не нужен, ведь есть же ORM

В любом ORM SQL-кишки всегда наружу торчат.

anonymous
()
Ответ на: комментарий от BaBL

$90

Я их трешем (да и Java-трешем в целом) не пользуюсь, но при всем уважении, коллега, 90 бачей это ведь несколько часов (или дней) работы средней руки верстальщика, веб-мастера, разработчика, администратора или программиста средней руки, что дорого-то?

kep
()
Ответ на: комментарий от BaBL

это я тебе с нищей Украины вещаю, а что говорить про заработки в Московии?

kep
()
Ответ на: комментарий от Legioner

И SQL нужен и ORM нужен.

Ну вот, даже отъявленная Java-контора сделала IDE для SQL :-) Может быть объяснишь тогда нужность ORM? :-)

anonymous
()
Ответ на: комментарий от BaBL

(например ПО для моделирования ArtCam Pro стоит $7500, правда в европке на штуцер дешевле, но вот это дорого, да, это попробуй купи хотя-бы на одно рабочее место, а это ведь цена именно за одну лицензионную копию для одного рабочего места)

kep
()
Ответ на: комментарий от kep

например ПО для моделирования ArtCam Pro стоит $7500

Хм, а почему же оно не «свободное» и не «открытое»? :-) ПО должно быть именно таким, и, обязательно, под лицензией GPL :-) Разве нет? :-)

anonymous
()
Ответ на: комментарий от anonymous

Ну смотри, есть ОО. А Кодд - ламер, когда свои базы данных выдумывал, об этом нифига не подумал и сделал их реляционными. Теперь погромисты негодуют, ибо нельзя так просто взять и запихать объект в реляционную базу. Для этого ОРМ. А всё из=за того, что Кодд - ламер.

anonymous
()
Ответ на: комментарий от anonymous

Ох лол. Я тебе открою тайну, в IntelliJ IDEA уже давно есть нехилый функционал для работы с БД.

И с чего ты решил, что этот продукт для Java-разработчиков? CLion, AppCode, (все остальные IDE от Jetbrains)* тоже для Java-разработчиков?

anonymous
()

Дождались

Пользуюсь уже пару месяцев, хорошая штука. Жаль, что переименовали.

Deleted
()
Ответ на: комментарий от BaBL

Эх... жаль дорогая, для индивидуалов $90.

Город: Москва

lol

Oxdeadbeef ★★★
()

Какие же у них значки все одинаковые и страшные стали после ребрендинга. Раньше у них только названия продуктов придумывались в каком-то угаре, а теперь еще и дизайн. Я могу понять, что дизайнер - наркоман, но ведь ЭТУ жесть одобрило руководство.

m0rph ★★★★★
()
Ответ на: комментарий от anonymous

При чём тут java? Это софтина для DBA, они к конкретному языку разработки отношения не имеют.

vurdalak ★★★★★
()
Ответ на: комментарий от anonymous

Так SQL же не нужен, ведь есть же ORM!!

А потом их просишь написать рекурсивный SQL-запрос к постгресу через любимый ORM, и...

Вообще, ORM уже не нужен, когда есть FRM типа slick.

shahid ★★★★★
()
Ответ на: комментарий от anonymous

Ну вот, даже отъявленная Java-контора сделала IDE для SQL :-) Может быть объяснишь тогда нужность ORM? :-)

Во многих проектах общение с БД очень типовое и состоит из однотипных SQL-запросов. Возникает желание убрать повторяемый код в библиотечные функции, чтобы уменьшить время разработки и число ошибок. ORM это и есть те самые библиотечные функции, доведённые до определённой универсальности (и, обычно, ещё встроенное удобное кеширование). Поэтому если проект типовой (или его часть типовая и достаточно большая), ORM позволит сэкономить определённое время. При этом для нетиповых запросов обычно можно использовать SQL и ничего страшного при этом не случится (разве что за кешами надо смотреть).

Правда ORM-ы нынче, к сожалению, достаточно сложные и запутанные, так что экономят время они в основном тем, кто их хорошо знает. Так что писать на чистом SQL, если не знаешь ORM, может быть нормальным решением.

Legioner ★★★★★
()

В чем же острая необходимость в целой IDE всего лишь для SQL запросиков? Неужели они такие большие бывают?

Помимо редактора с дополняшками, что там еще приятного?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от BaBL

Чем дорогая-то? Совершенно бесплатная.

Много лет использую PhpStorm - для дома есть ключик с торрента (один на все версии, шикарно!), а на работе когда использовал - просто как триал: раз в месяц сносим ~/.webide и пользуемся еще месяц.

moooV
()
Ответ на: комментарий от Legioner

И SQL нужен и ORM нужен.

Программисты делятся на две категории: те кто думают, что SQL не нужен, и те кто уже знают - нужен.

zloelamo ★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ну вообще там не только SQL-запросики. Например можно быстро и удобно смотреть структуру БД (таблицы, столбцы и тд). Можно посмотреть содержимое таблицы в, собственно, табличном виде, отфильтровать, отредактировать. Можно по таблице сгенерировать DDL.

Ну и SQL-запросы бывают таки довольно большие. Бывают хранимые процедуры. Бывают продукты, в которых десятки тысяч хранимых процедур и триггеров, общим объёмом в миллионы строк. Без IDE тут сложно.

Legioner ★★★★★
()
Ответ на: комментарий от moooV

Для воров много что бесплатно. Но не все вещают на лор с социального дна.

Weres ★★★
()
Ответ на: комментарий от littlechris

На #lor тебя поддержат конечно. Но я убежден, что SQL нужен.

bookman900 ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

В чем же острая необходимость в целой IDE всего лишь для SQL запросиков

Потому что есть DBeaver, но что-то неясно что с ним и как.

bookman900 ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

В чем же острая необходимость в целой IDE всего лишь для SQL запросиков? Неужели они такие большие бывают?

Обычно туда всю бизнес-логику переносят. Так что размер «SQL запросиков» может быть сколь угодно большим.

Igor_FF
()

Не хватает миграций нормальных. Некоторые фичи не пашут. В общем сыро пока, не рекомендую. Не сильно лучше плагина для идеи.

Deleted
()
Ответ на: комментарий от Legioner

Во многих проектах общение с БД очень типовое и состоит из однотипных SQL-запросов. Возникает желание убрать повторяемый код в библиотечные функции, чтобы уменьшить время разработки и число ошибок. ORM это и есть те самые библиотечные функции, доведённые до определённой универсальности

ты сейчас описываешь query builder, а не ORM

umren ★★★★★
()
Ответ на: комментарий от Legioner

Бывают продукты, в которых десятки тысяч хранимых процедур и триггеров, общим объёмом в миллионы строк. Без IDE тут сложно.

Понял :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от umren

Query Builder это часть любого вменяемого ORM. После построения запроса и выполнения надо вычитать его результаты, обычно в объекты. Это вычитывание тоже типовое, более того, в случае всяких join-ов оно ещё и довольно муторное в реализации. Собственно это и есть mapping. Это ещё одна часть ORM (наверное самая сложная). Ну и кеширование, обычно, тоже включается в ORM, потому что его тоже можно реализовать обобщённо.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)

На нормальном железе (16Гб ОЗУ, i7 и все такое), где даже FF не тормозит, это поделие лагает при работе даже с SQLite. В топку.

anonymous
()
Ответ на: комментарий от MKuznetsov

это много ?

Это неизвестно сколько.
Сейчас - $89 за первый год, потом якобы меньше. Но где гарантии, что через год-пару они не взвинтят цены? Поэтому, подписки - зло. Особенно в том виде, как их сделали JetBrains

X-Pilot ★★★★★
()

открытые аналоги этой проприетарной подделки

squirrelsql

executequery Execute Query 3.2.1

sql workbench/j

Deleted
()
Ответ на: комментарий от anonymous

Ну смотри, есть ОО. А Кодд - ламер, когда свои базы данных выдумывал, об этом нифига не подумал и сделал их реляционными. Теперь погромисты негодуют, ибо нельзя так просто взять и запихать объект в реляционную базу. Для этого ОРМ. А всё из=за того, что Кодд - ламер.

Отличная лапша для посетителей Java-кружков, или, как это сейчас модно говорить ТРЭНИНГОВ :-)

anonymous
()
Ответ на: комментарий от anonymous

Отличная лапша для посетителей Java-кружков, или, как это сейчас модно говорить ТРЭНИНГОВ :-)

Похоже, кто-то не понял иронии.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Ох лол. Я тебе открою тайну, в IntelliJ IDEA уже давно есть нехилый функционал для работы с БД.

Обеспечивает ли она автоматическую синхронизацию клиентского кода со схемой/кодом хранимок в самой БД? Т.е. умеет ли она менять схему БД при изменении клиентского кода? Если не умеет (а она, скорее всего, не умеет), то там ничего нового в той Идее для работы с БД нет. Написанная с большой потугой возможность автодополнения компонентов SQL-запросов по метаданным БД - это игрушка для современных любителей носить джинсики в обтяжку :-)

anonymous
()
Ответ на: комментарий от tailgunner

Похоже, кто-то не понял иронии.

Похоже, кто-то не понял продолжения иронии/стёба :-)

anonymous
()
Ответ на: комментарий от anonymous

И с чего ты решил, что этот продукт для Java-разработчиков? CLion, AppCode, (все остальные IDE от Jetbrains)* тоже для Java-разработчиков?

Не буду говорить для кого все эти продукты :-) Бугага :-)

anonymous
()
Ответ на: комментарий от Legioner

Во многих проектах общение с БД очень типовое и состоит из однотипных SQL-запросов. Возникает желание убрать повторяемый код в библиотечные функции, чтобы уменьшить время разработки и число ошибок. ORM это и есть те самые библиотечные функции, доведённые до определённой универсальности (и, обычно, ещё встроенное удобное кеширование).

Для этого давным давно придумали функции на стороне БД, именуемые в простонародье «хранимками» :-)

Правда ORM-ы нынче, к сожалению, достаточно сложные и запутанные, так что экономят время они в основном тем, кто их хорошо знает. Так что писать на чистом SQL, если не знаешь ORM, может быть нормальным решением.

SQL - это едва ли не самый удачный DSL, из когда-либо придуманных, основанный на жОсткой теоретической базе :-) А ORM - это жалкие выдумки отдельных изобретателей фонатиков ОО :-)

anonymous
()
Ответ на: комментарий от Legioner

Ну и SQL-запросы бывают таки довольно большие. Бывают хранимые процедуры. Бывают продукты, в которых десятки тысяч хранимых процедур и триггеров, общим объёмом в миллионы строк. Без IDE тут сложно.

Сложно, когда IDE начинает мешать. И тогда, обычная грамотная разбивка на файлы, как делают нормальные люди, привыкшие к Git, устраняет всю сложность. Как и всегда :-)

anonymous
()
Ответ на: комментарий от Igor_FF

Обычно туда всю бизнес-логику переносят. Так что размер «SQL запросиков» может быть сколь угодно большим.

Таких «переносчиков» надо показательно сжигать на площадях.

WARNING ★★★★
()
Ответ на: комментарий от anonymous

Для этого давным давно придумали функции на стороне БД, именуемые в простонародье «хранимками» :-)

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

SQL - это едва ли не самый удачный DSL, из когда-либо придуманных, основанный на жОсткой теоретической базе :-)

А по-мне SQL отвратителен. Теория там примитивная, а вот конкретный синтаксис убог. Он нормальный, если ты пользуешься SQL-ем как пользователь, для чего его изначально и придумывали. А когда ты используешь этот SQL внутри программы, всё очень плохо.

А ORM - это жалкие выдумки отдельных изобретателей фонатиков ОО :-)

Теоретическая подоплёка ORM может быть и жалкая. А практическая польза от ORM есть.

Legioner ★★★★★
()
Ответ на: комментарий от Rastafarra

а что именно она дает? вот у меня есть pl/sql developer, по фичам эта поделка выигрывает?

Не знаю, попробуй сам сравнить. Я её не особо активно использую. В Idea она идёт бесплатным плагином, я использую для всех задач, связанных с БД, но у меня они не очень большие. Раньше Squirrel SQL использовал, его мне хватало. Могу отметить только автодополнение, реально экономит время.

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

функции на стороне БД, именуемые в простонародье «хранимками»

расскажи мне в двух словах как отследить все хранимки, которые отвалились потому что в табличке грохнули поле?

Rastafarra ★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Эх... жаль дорогая, для индивидуалов $90

А сколько должно стоить чтобы хомяку с аватара хватало на пропитание? :)

Хомяку хватает, но он не готов платить $90 за продукт, который нужен от раза к разу. Я не DBA. А PHPStorm у хомяка проплачивается 4 года уже без опозданий.

Я скучаю по тому варианту web bundle, который был у JetBrains в планах =/ Вот его б с удовольствием купил. Но потом они все зарезали и оставили только AllInOne.

BaBL ★★★★★
()
Ответ на: комментарий от Rastafarra

расскажи мне в двух словах как отследить все хранимки, которые отвалились потому что в табличке грохнули поле?

В двух словах: сделать запрос к системной таблице.

Igor_FF
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.