Полтора года мы делали 0xDBE по программе раннего доступа (EAP). Пора подвести черту под нашей работой. Мы благодарим всех, кто пробовал 0xDBE на своих проектах и писал нам — вы очень помогли. По этому названию мы тоже будем скучать.
Теперь IDE называется 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, и т. д.
Узнайте о других возможностях, в том числе CSV-редакторе, диаграммах, запросах с параметрами, на странице DataGrip на нашем сайте.
FAQ
— DataGrip входит в состав подписки на все продукты JetBrains?
— Да, она досутпна, как Single IDE и как часть пакета «All Products». Если у вас есть подписка на все продукты JetBrains, вы можете пользоваться DataGrip уже сейчас.
— Функционал DataGrip повторяет всё, что есть в других IDE от JetBrains с поддержкой БД?
— Да. В первой версии DataGrip мы сосредоточились на основном.
— Могу я использовать DataGrip с диалектами, которые не перечислены?
— Да. Всё что вам нужно — JDBC драйвер.
— Будут ли NoSQL, отладка кода и инструменты для администрирования?
— Да, в следующих версиях.
— Где высказать мнение о DataGrip?
— Здесь в комментариях, на нашем формуе, в твиттере или через feedback form прямо из IDE.
Команда DataGrip
_
JetBrains
The Drive to Develop
Комментарии (98)
AlanDenton
18.12.2015 17:07+1Анализируйте план выполнения запроса для оптимизации
Для SQL Server Вы план строите по аналогии с MySQL? или в графическом виде как это делает SSMS…
И есть еще вопрос… Какие версии SQL Server поддержаны?moscas
18.12.2015 17:38+1На послеждней картинке есть небольшой пример — не граф, как в MS SQL, но в наглядном структурированном виде.
Поддерживаем начиная с MS SQL 10.50 2008 R2AlanDenton
18.12.2015 17:53+1Печалька… с планом запроса. В дальнейшем планируете добавить функционал анализа плана в виде графа?
Как это реализовано в dbForge и Plan Explorer Free. Там это делать удобнее, чем в нативном функционале SSMS.
И почему отказались от 2005 версии? Есть еще много продакшен систем которые на 2005 существуют. Рынок ведь теряете…Vurtatoo
20.12.2015 16:46Те кто используют 2005 скоро обновятся, 2015 год на дворе. Уверен, что это решение продуманное.
AlanDenton
21.12.2015 19:28Решение, конечно, может и продуманное. Но так теряется часть рынка. Очень многие предприятие еще не готовы к переходу на новые версии. Например, по банальному отсутствию средств. Можно еще вспомнить про различия в лицензировании 2005 версии и на «ядро» как это придумали в новых версиях по аналогии с Ораклом.
AlanDenton
21.12.2015 19:29И мне так кажется, решение так сделать было продиктовано желанием быстрее выпустить продукт. Отличия в метаданных между 2005 и версиями выше достаточно существенные. Например взять те же зависимости.
intnzy
18.12.2015 17:11+3Как насчет средств для проектирования базы? Например, что-то похожее, как в MySQL Workbench
Sway
18.12.2015 17:12+9Попробовал, обнаружил что нет нужного мне функционала, отложил до следующей версии.
Чего не хватает:
1. (критично) Нет triggers
2. (отчасти критично) Нет rules, checks для postgresql
3. (не критично) Нет types и operators, непонятно есть ли materialized views (для того же postgresql)
Без 1 вообще очень грустно. Да и без 2 тоже сложно обойтись.
dkuzevanov
18.12.2015 17:20+5Уважаемые JetBrains!
Спасибо вам за крутое ПО!
Будут ли скидки на Новый год? 249$ по нынешнему курсу выглядят страшно.moscas
18.12.2015 17:36+1249 — цена на все продукты сразу, DataGrip стоит 89 долларов в год.
dkuzevanov
18.12.2015 17:47Спасибо, я знаю.
Давно использую ваше ПО.
Хочу продлить 3 продукта + DataGrip, в итоге — проще купить подписку на все.
gurinderu
18.12.2015 17:24+8Все-таки переименовали. По-моему Jetbrains все реже стал прислушиваться к мнению обычных пользователей.
Prototik
18.12.2015 17:30+16Да и новые splash экраны ужасны, имхо.
ScratchBoom
18.12.2015 18:50+5Не столько ужасны, сколько одинаковы
intet
18.12.2015 21:51+1Даже одинаковые можно сделать не ужасными. Какое-то прям всеобщее помешательство на одинаковых плоских интерфейсах.
Плюс в новой версии вместо полезной строчки с датой окончания лицензии, предупреждение о том, что через какое-то неопределенное время ваша idea превратиться обратно в тыкву.
atomrik
19.12.2015 13:00+2Каждый раз после запуска покупной Intellij IDEA, мне хочется развидеть эти депрессивные splash-ы.
Новый дизайн сайта большой и аляповытый. Мне требудется
А так же неинформативный, раньше показывалось время которое осталось до конца подписки, а сейчас о том что не «моя» среда разработки. Хотя она оплачена на год.
Шрифты стали последним гвоздем.
zharikovpro
18.12.2015 17:33И сайт/лого перекрасили аки по приказу Джонни Айва. Хорошо хоть внутри все по-прежнему выглядит.
leventov
18.12.2015 23:56+30xDBE такое же гиковское название как nginx, lighttpd и т. д. — типа, ну-ка, поломай язык. Нужно нормальное название которое легко передается из уст в уста
rauch
19.12.2015 00:04+2За 1,5 года мы настолько привыкли к этому названию, что Intellij IDEA звучит не более гуманитарно
afiskon
18.12.2015 17:26+2Так, постойте-ка. А построение UML-диаграммы схемы БД надеюсь входит в список возможностей (за 250$ то)?
moscas
18.12.2015 17:33+3Входит. И за 89 :)
afiskon
18.12.2015 17:42+3Ну а что же вы в посте так скромно об этом умалчиваете? Это же самое главное (для тех кто хоть раз пытался вкурить в схему из 250+ таблиц которая развивалась на протяжении 15 лет)!
bosha
19.12.2015 19:57+1Или для тех, кто хоть раз вкуривал в БД, в которой 1000+ таблиц, в одной таблице может быть 600+ полей и никаких констраинтов, ага. :)
Kyarginski
18.12.2015 17:53+5Не работает с процедурами DB2 as400. Был заведен баг под запоминающимся номером 666. Год назад. До сих пор не исправлен. Пичалька… P. S. И да, новые логотипы просто ужасны. У дизайнера депрессия?
Kyarginski
22.12.2015 14:09Написал гневное письмо в поддержку. В тот же день поменяли статус на Major.
Ну, думаю, пошло дело, рука потянулась к кошельку...
Но тут приоритет тихонечко сменили на Normal.
Не собираемся, одним словом ничего править...
Вон оно как… оказывается…
https://youtrack.jetbrains.com/issue/DBE-666
P.S.
Если не можете исправить — откройте исходники, мы сами поправим!.. ;-)
olku
18.12.2015 18:11+31. Есть ли реверс ERD (существующая база -> ERD)?
2. Есть ли форвард ERD (ERD -> новая база)?
3. Есть ли реверс-форвард ERD (существующая база -> ERD -> меняем ERD -> изменения существующей базы)?
4. Есть ли миграция (существующая база, например MySQL -> ERD -> новая база, например PostgreSQL)?
marc13
18.12.2015 18:47+1Не работает с процедурами Firebird (видит только сигнатуры). Уже молчу про триггеры.
soroktu
18.12.2015 20:11+2— Функционал DataGrip повторяет всё, что есть в других IDE от JetBrains с поддержкой БД?
— Да. В первой версии DataGrip мы сосредоточились на основном.
Надеюсь весь функционал из DataGrip и в дальнейшем будет присутствовать в Idea Ultimate. А если какие-то фичи из Idea исчезнут, то лично мне будет очень неприятно…
Holms
18.12.2015 20:24+3Что-то я не понял, а как по умолчанию увидеть все БД из MS SQL сервера как в MS SQL Management Studio без всяких приседаний вроде выбора схемы итд.
Просто ввел сервер, имя, пароль и все видны все БДAccetone
19.12.2015 22:14Присоединяюсь. Ещё почему-то в релизе возникла проблема с подключением других схем (кроме той, что по-умолчанию). Вроде, синий квадратик есть с именем схемы, но таблицы не грузит. Хотя в EAP работало.
moscas
21.12.2015 18:23Выбирайте те базы, что видны во вкладках Schemas.
Есть известный баг. связанный с использованием звёздочек. youtrack.jetbrains.com/issue/DBE-2061
andrewsch
18.12.2015 21:15Навигация по таблицам классная — переходы между foreign keys и фильтрация по полю (местами хромает, но в основном работает).
Для коллекции пожеланий (nice-to-have, конечно) — общие:
— поддержка right-to-left языков (типа арабского и иврита), хотя и стала получше, но все еще хромает, по сравнению с Eclipse или SquirrelSQL.
Для PostgreSQL — было-бы неплохо:
— лучше поддерживать нестандартные типы данных, такие как HSTORE… не знаю, как насчет JSONB — у меня его пока нет (застряли на 9.1)
— как-то поддерживать PostGIS данные — это было-бы круто, хотя это, конечно, и огромная тяжелая фича.
А есть какие-то гайды по написанию плагинов для улучшения поддержки таких нестандартных типов данных? Я погуглил немного, но ничего не нашел…
snnwolf
18.12.2015 21:39+2Не удается получить список БД в postgres.
moscas
21.12.2015 18:18Информации на скриншоте немного. Вы можете сфотографировать вкладку general?
Я создал тикет в трекере, прикрепите его пожалуйста туда и ещё какую-нибудь дополнительную информацию.
youtrack.jetbrains.com/issue/DBE-2068snnwolf
21.12.2015 18:34Спасибо за ответ. Добавил скрин.
Такая же бага уже была добавлена ранее youtrack.jetbrains.com/issue/DBE-1315
chersanya
18.12.2015 22:29Очень бы хотелось рисовать граф таблиц не отдельно для каждой схемы (postgres), а сразу для нескольких, включая связи между таблицами в различных схемах.
Miklos
18.12.2015 23:10Исправьте пожалуйста иконки продуктов. Хотя бы смените иконку на каталоге проекта в дереве. Чёрная иконка на тёмном фоне это не ок.
steexx
18.12.2015 23:52А как теперь можно перенести настройки из 0xdbe в DataGrip (конфиги баз, сохраненные запросы и тд)? 0xdbe уже не запускается, DataGrip при старте старые директории не подхватывает. osx
rauch
18.12.2015 23:59Вот кстати да, халявным бета-тестерам даже не попытались рассказать — как бесшовно пересесть на продукт с новым названием.
//переносить 5-10 БД крайне отвратительное занятие… вспоминать, где лежат пароли etc.steexx
19.12.2015 00:02Конфиги — не критично, но у меня там запросов аналитических за полгода активной работы 100500. Их не то что сложно, просто невозможно восстановить с нуля. Искренне надеюсь что ребята просто забыли описать способ миграции и он существует!
GamePad64
19.12.2015 03:20Конфиги (по крайней мере, в Linux) у 0xDBE по умолчанию лежат в ${user.home}/.0xDBE. Если переименуете в .DataGrip, всё должно заработать.
А вообще в директории с установленным DataGrip есть файл bin/idea.properties. Там можно посмотреть, где что лежит.
kirillzorin
19.12.2015 23:21Консоли с запросами хранятся в виде sql-файлов. Посмотрите в /Library/Preferences/0xDBE10/consoles/db/
steexx
20.12.2015 19:27Спасибо, консоли нашел.
Но очень бы хотелось услышать рекомендации по миграции от сотрудников JetBrains.moscas
21.12.2015 18:19Привет!
Согласен, сделали мы не очень удобно: при запуске все настройки из 0xDBE автоматически не подтягиваются.
У нас на форуме есть ответ от поддержки на вопрос о переносе настроек.
devnet.jetbrains.com/message/5566570#5566570
Чтобы не делать датасорсы глобальными, можно просто дефлотный проект 0xDBE открыть из DataGrip. Дефолтный проект находится \.0xDBE10\config\projects\default и \.DataGrid\config\projects\default соответственно.
На Маке этот проект в Preference папка в ~/Libraries
nomadmoon
19.12.2015 13:41+3Я вот одного не понимаю, зачем в создании таблицы всё распихивать по отдельным вкладкам? Места что ли мало? 28" моники уже в моду входят.
А отдельный + для добавления строки таблицы — зачеееем? Ну сделайте вы 10 строк, которые оставят незаполненными те значит не нужны, их не обрабатываем. Если нужно больше столбцов тыкнут плюсик. Или микрософт это в Access-е запатентовал и теперь никому нельзя? Выбор типа поля никак нельзя оптимизировать? Выпадающее окно с вариантами (их там не миллионов тыщи). Четыре-пять самых популярных типа радиокнопками в строке.
Я не знаю, может у вас там есть какие то крутые супер фишки, но на хозяйственно-бытовом уровне ощущения от гифок — тот же pgAdmin, только не бесплатно.
parkito
20.12.2015 04:49Я так понял, что в продукте нет средств даталогического проектирования. Если я прав, в будущих версия планируется добавления чего-то в этом направлении?
hippoage
20.12.2015 16:04+2Пока что непонятно за что деньги брать, бесплатные продукты для работы с БД получше. С полной лицензией можно поставить, попробовать, а отдельно покупать непонятно зачем.
Хочется:
1) Подсказки/инспекции как по запросам (неопределенные значения колонок при group by), так и по структуре (длину поля таблицы можно уменьшить до 12 символов).
2) Диаграммы (далеко не факт, что UML) по группе таблиц (непонятно есть или нет поддержка тегов/групп таблиц). Со связыванием не только по foreign key, но и кастомным (с угадыванием по названию поля user_id, например, и с явным указанием).
3) Сравнение структур двух баз.
4) Документирование базы (общий текст, на группы/теги таблиц, на таблицы и колонки) и генерация html-документации.
Пока что это все приходится делать кучкой скриптов по большей части.
Holms
21.12.2015 19:07Авто-дополнение не работает для MS SQL
moscas
22.12.2015 13:47Спасибо! У нас получилось вопроизвести.
Я создал тикет в трекере.
youtrack.jetbrains.com/issue/DBE-2074
LangovoyAndrey
22.12.2015 12:11+1Добрый день!
Скачал, поставил. Выбрал дата сорс. В моем случае это SQL Server. Скачал драйвера. Пытаюсь подключиться. Вижу такую картину. Версии сервера не поддерживаются скачанными драйверами.
Может, конечно, я что-то делаю не так. Но подключиться так и не смог ни к одному из серверов: 2008, 2008R2, 2012, 2014, 2016.AlanDenton
22.12.2015 12:18+1Присоединяюсь к описанной проблеме. Тоже не получилось нормально поработать в SQL Server с помощью DataGrip. В свете текущего положения дел… можно ли использовать альтернативные драйвера, которые есть от SSMS? Разрешаете ли Вы использовать сторонние dot connect-ы?
moscas
22.12.2015 13:50У вас не получилось присоединиться к базе?
AlanDenton
22.12.2015 13:56Да. Вначале не качался драйвер… После когда драйвер установился, сообщение при соединении было аналогичное как описано выше.
moscas
22.12.2015 14:22А не качался драйвер — это что происходило?
AlanDenton
22.12.2015 17:30
при этом в браузере я смог все нормально скачать. никаких прокси не использовал.
moscas
22.12.2015 13:50+1В вашем сообщении говорится о SQL server Version 8 а это SQL Server 2000.
LangovoyAndrey
22.12.2015 14:08+1У меня целая пачка версий серверов. Перепробовал подключаться ко всем. Получаю одно и тоже сообщение.
moscas
22.12.2015 14:28А вы не могли бы попробовать две вещи:
— Удалить номер порта и попробовать снова.
— Если нет, то попробовать использовать jDTS драйвер.
Возможно, порт и имя инстанса ссылаются в разные места. Драйвер реализован так, что приоритет имеет порт. В билжайшем апдейте мы сделаем так, что IDE будет сообщать вам, что так происходит.
stackoverflow.com/questions/12732957/java-sql-sqlexception-sql-server-version-8-is-not-supported-by-this-driver-sqlLangovoyAndrey
22.12.2015 17:121-я ничего не изменилось.
2-ю уже пробовал. Скачал JDTS, и тестовое соединение вроде прошло.
однако потом, при клике на коннекшн получил такое
Invalid state, the Connection object is closed.moscas
24.12.2015 15:14+1Создал баг: youtrack.jetbrains.com/issue/DBE-2090
Пожалуйста, дайте нам в трекере побольше информации: может у вас включен фаерволл или есть ещё какие-то интересные детали.
LangovoyAndrey
22.12.2015 14:07+1А вообще, компания JetBrains, могла бы и
пива купитьвыдать лицензию на пару месяцев за то, что мы все кинулись тестировать этот инструмент!
benkaminski
23.12.2015 18:48Две хранимки с одинаковым именем, но разным набором входных/выходных параметров. В результате открывает редактор только для первой, вторую никак уже не изменить.
moscas
28.12.2015 16:55А не подскажете, в какой СУБД? В Postgres'е открывается текст сразу двух процедур. Что, конечно, не очень правильно, но не соотвествует тому, что вы описываете.
benkaminski
28.12.2015 16:58Да, вы правы, открывается текст двух процедур сразу. Ввёл вас в заблуждение.
afiskon
Отличная новость. И у меня (нищебродский :) вопрос. Некоторые продукты JetBrains (в частности CLion) предоставляются разработчикам open source проектов бесплатно + по-моему есть какие-то скидки для студентов и еще что-то. Есть ли что-то подобное в отношении DataGrip? Алсо планируется ли community версия?
moscas
Если вы студент, то вы можете бесплатно получить годовую подписку на любой продукт. www.jetbrains.com/student
afiskon
Нет, я как раз в настоящее время занимаюсь фултайм одним известным open source проектом :)
moscas
К соажалению, функционал для работы с DB у нас не входит в community edition IntelliJ IDEA, соответсвенно и у DataGrip такой версии нет.
shafirov
Для opensource проектов те же правила, что и для других JetBrains продуктов: www.jetbrains.com/buy/opensource/?product=datagrip
SOLON7
Какое неудачное название, Лучше уж DataZen, или DataMine, Вообще конечно стоило провести голосовалку, так наверняка продукт был стал не мертоврожденным!
JRazor
Компания, выпускающая топовые IDE для самых различных технологий выпустила мертворожденный продукт? У вас какие-то проблемы с восприятием мира.