Компания
199,69
рейтинг
18 декабря 2015 в 16:34

Разработка → Релиз DataGrip (экс-0xDBE) 1.0 — новой IDE для SQL

Привет! Мы выпустили IDE для работы с базами данных.

Полтора года мы делали 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
Автор: @moscas
JetBrains
рейтинг 199,69

Комментарии (111)

  • 0
    Отличная новость. И у меня (нищебродский :) вопрос. Некоторые продукты JetBrains (в частности CLion) предоставляются разработчикам open source проектов бесплатно + по-моему есть какие-то скидки для студентов и еще что-то. Есть ли что-то подобное в отношении DataGrip? Алсо планируется ли community версия?
    • +1
      Если вы студент, то вы можете бесплатно получить годовую подписку на любой продукт. www.jetbrains.com/student
      • +1
        Нет, я как раз в настоящее время занимаюсь фултайм одним известным open source проектом :)
        • +1
          К соажалению, функционал для работы с DB у нас не входит в community edition IntelliJ IDEA, соответсвенно и у DataGrip такой версии нет.
        • +3
          Для opensource проектов те же правила, что и для других JetBrains продуктов: www.jetbrains.com/buy/opensource/?product=datagrip
    • –10
      Какое неудачное название, Лучше уж DataZen, или DataMine, Вообще конечно стоило провести голосовалку, так наверняка продукт был стал не мертоврожденным!
      • +4
        Компания, выпускающая топовые IDE для самых различных технологий выпустила мертворожденный продукт? У вас какие-то проблемы с восприятием мира.
  • +1
    Анализируйте план выполнения запроса для оптимизации

    Для SQL Server Вы план строите по аналогии с MySQL? или в графическом виде как это делает SSMS

    И есть еще вопрос… Какие версии SQL Server поддержаны?
    • +1
      На послеждней картинке есть небольшой пример — не граф, как в MS SQL, но в наглядном структурированном виде.
      Поддерживаем начиная с MS SQL 10.50 2008 R2
      • +1
        Печалька… с планом запроса. В дальнейшем планируете добавить функционал анализа плана в виде графа?
        Как это реализовано в dbForge и Plan Explorer Free. Там это делать удобнее, чем в нативном функционале SSMS.

        И почему отказались от 2005 версии? Есть еще много продакшен систем которые на 2005 существуют. Рынок ведь теряете…
        • 0
          Те кто используют 2005 скоро обновятся, 2015 год на дворе. Уверен, что это решение продуманное.
          • 0
            Решение, конечно, может и продуманное. Но так теряется часть рынка. Очень многие предприятие еще не готовы к переходу на новые версии. Например, по банальному отсутствию средств. Можно еще вспомнить про различия в лицензировании 2005 версии и на «ядро» как это придумали в новых версиях по аналогии с Ораклом.
          • 0
            И мне так кажется, решение так сделать было продиктовано желанием быстрее выпустить продукт. Отличия в метаданных между 2005 и версиями выше достаточно существенные. Например взять те же зависимости.
  • +3
    Как насчет средств для проектирования базы? Например, что-то похожее, как в MySQL Workbench
  • +9
    Попробовал, обнаружил что нет нужного мне функционала, отложил до следующей версии.
    Чего не хватает:
    1. (критично) Нет triggers
    2. (отчасти критично) Нет rules, checks для postgresql
    3. (не критично) Нет types и operators, непонятно есть ли materialized views (для того же postgresql)
    Без 1 вообще очень грустно. Да и без 2 тоже сложно обойтись.
    • 0
      1. — в приоритете по тому, что будем реализовывать.
    • 0
      3. — materialized views для постгреса, кстати, есть.
      • 0
        Это хорошо, я их, видимо, не увидел =)
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      249 — цена на все продукты сразу, DataGrip стоит 89 долларов в год.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Так и сделал :) Тем более год в подарок (был, а может и сейчас есть?)
  • +8
    Все-таки переименовали. По-моему Jetbrains все реже стал прислушиваться к мнению обычных пользователей.
    • +16
      Да и новые splash экраны ужасны, имхо.
      • +5
        Не столько ужасны, сколько одинаковы
        • +1
          Даже одинаковые можно сделать не ужасными. Какое-то прям всеобщее помешательство на одинаковых плоских интерфейсах.
          Плюс в новой версии вместо полезной строчки с датой окончания лицензии, предупреждение о том, что через какое-то неопределенное время ваша idea превратиться обратно в тыкву.
          • +3
            Help>About — там всё написано.
            • 0
              Дату окончания найти можно. Но кто об этом вспоминает? Раньше во время ожидания запуска среды, глаза мимоходом пробегали по дате. Теперь же человека огорчают отсутствием лицензии.
          • 0
            У меня показывает дату окончания подписки:
            • 0
              Дата окончания подписки показывается, когда у вас есть постоянная лицензия на данную версию. Для новой модели подписки, после первого же обновления экран загрузки превращается вот в такое.
              image
      • +2
        Каждый раз после запуска покупной Intellij IDEA, мне хочется развидеть эти депрессивные splash-ы.
        Новый дизайн сайта большой и аляповытый. Мне требудется

        А так же неинформативный, раньше показывалось время которое осталось до конца подписки, а сейчас о том что не «моя» среда разработки. Хотя она оплачена на год.

        Шрифты стали последним гвоздем.

    • 0
      И сайт/лого перекрасили аки по приказу Джонни Айва. Хорошо хоть внутри все по-прежнему выглядит.
      • +3
        А мне нравится сайт, свежо )
    • +3
      0xDBE такое же гиковское название как nginx, lighttpd и т. д. — типа, ну-ка, поломай язык. Нужно нормальное название которое легко передается из уст в уста
      • +2
        За 1,5 года мы настолько привыкли к этому названию, что Intellij IDEA звучит не более гуманитарно
      • 0
        ну давайте посмотрим на целую аудиторию продукта. Среди неё вообще не гики есть?)
        • 0
          Гиковское название — имелось ввиду, что его придумали гики, а не то, что оно гиками нравится. Мне, как гику, такие непроизносимые названия не нравятся.
      • –2
        дата — гриб
  • +2
    Так, постойте-ка. А построение UML-диаграммы схемы БД надеюсь входит в список возможностей (за 250$ то)?
    • +3
      Входит. И за 89 :)
      • +3
        Ну а что же вы в посте так скромно об этом умалчиваете? Это же самое главное (для тех кто хоть раз пытался вкурить в схему из 250+ таблиц которая развивалась на протяжении 15 лет)!
        • +1
          Или для тех, кто хоть раз вкуривал в БД, в которой 1000+ таблиц, в одной таблице может быть 600+ полей и никаких констраинтов, ага. :)
  • +5
    Не работает с процедурами DB2 as400. Был заведен баг под запоминающимся номером 666. Год назад. До сих пор не исправлен. Пичалька… P. S. И да, новые логотипы просто ужасны. У дизайнера депрессия?
    • 0
      Написал гневное письмо в поддержку. В тот же день поменяли статус на Major.
      Ну, думаю, пошло дело, рука потянулась к кошельку...
      Но тут приоритет тихонечко сменили на Normal.
      Не собираемся, одним словом ничего править...
      Вон оно как… оказывается…

      https://youtrack.jetbrains.com/issue/DBE-666

      P.S.
      Если не можете исправить — откройте исходники, мы сами поправим!.. ;-)
  • +3
    1. Есть ли реверс ERD (существующая база -> ERD)?
    2. Есть ли форвард ERD (ERD -> новая база)?
    3. Есть ли реверс-форвард ERD (существующая база -> ERD -> меняем ERD -> изменения существующей базы)?
    4. Есть ли миграция (существующая база, например MySQL -> ERD -> новая база, например PostgreSQL)?
  • +1
    Не работает с процедурами Firebird (видит только сигнатуры). Уже молчу про триггеры.
  • +1
    Планируете ли добавить сравнение и обновление схем для 2-ух БД?
    • 0
      Уже есть: compare в контекстом меню при выборе двух схем.
  • +2
    — Функционал DataGrip повторяет всё, что есть в других IDE от JetBrains с поддержкой БД?
    — Да. В первой версии DataGrip мы сосредоточились на основном.

    Надеюсь весь функционал из DataGrip и в дальнейшем будет присутствовать в Idea Ultimate. А если какие-то фичи из Idea исчезнут, то лично мне будет очень неприятно…
  • +3
    Что-то я не понял, а как по умолчанию увидеть все БД из MS SQL сервера как в MS SQL Management Studio без всяких приседаний вроде выбора схемы итд.
    Просто ввел сервер, имя, пароль и все видны все БД
    • 0
      Присоединяюсь. Ещё почему-то в релизе возникла проблема с подключением других схем (кроме той, что по-умолчанию). Вроде, синий квадратик есть с именем схемы, но таблицы не грузит. Хотя в EAP работало.
    • 0
      Выбирайте те базы, что видны во вкладках Schemas.
      Есть известный баг. связанный с использованием звёздочек. youtrack.jetbrains.com/issue/DBE-2061
  • 0
    Навигация по таблицам классная — переходы между foreign keys и фильтрация по полю (местами хромает, но в основном работает).

    Для коллекции пожеланий (nice-to-have, конечно) — общие:

    — поддержка right-to-left языков (типа арабского и иврита), хотя и стала получше, но все еще хромает, по сравнению с Eclipse или SquirrelSQL.

    Для PostgreSQL — было-бы неплохо:

    — лучше поддерживать нестандартные типы данных, такие как HSTORE… не знаю, как насчет JSONB — у меня его пока нет (застряли на 9.1)
    — как-то поддерживать PostGIS данные — это было-бы круто, хотя это, конечно, и огромная тяжелая фича.

    А есть какие-то гайды по написанию плагинов для улучшения поддержки таких нестандартных типов данных? Я погуглил немного, но ничего не нашел…
    • 0
      Спасибо за фидбек! Гайдов пока нет.
    • +1
      RTL сделали!
      Hstore тоже частично поддержали.
      Новый релиз: http://blog.jetbrains.com/datagrip/2016/04/20/datagrip-2016-1-released/
  • +2
    Не удается получить список БД в postgres.
    image
    • 0
      Информации на скриншоте немного. Вы можете сфотографировать вкладку general?
      Я создал тикет в трекере, прикрепите его пожалуйста туда и ещё какую-нибудь дополнительную информацию.
      youtrack.jetbrains.com/issue/DBE-2068
  • 0
    Очень бы хотелось рисовать граф таблиц не отдельно для каждой схемы (postgres), а сразу для нескольких, включая связи между таблицами в различных схемах.
  • 0
    Исправьте пожалуйста иконки продуктов. Хотя бы смените иконку на каталоге проекта в дереве. Чёрная иконка на тёмном фоне это не ок.
  • 0
    А как теперь можно перенести настройки из 0xdbe в DataGrip (конфиги баз, сохраненные запросы и тд)? 0xdbe уже не запускается, DataGrip при старте старые директории не подхватывает. osx
    • 0
      Вот кстати да, халявным бета-тестерам даже не попытались рассказать — как бесшовно пересесть на продукт с новым названием.

      //переносить 5-10 БД крайне отвратительное занятие… вспоминать, где лежат пароли etc.
      • 0
        Конфиги — не критично, но у меня там запросов аналитических за полгода активной работы 100500. Их не то что сложно, просто невозможно восстановить с нуля. Искренне надеюсь что ребята просто забыли описать способ миграции и он существует!
        • 0
          Конфиги (по крайней мере, в Linux) у 0xDBE по умолчанию лежат в ${user.home}/.0xDBE. Если переименуете в .DataGrip, всё должно заработать.
          А вообще в директории с установленным DataGrip есть файл bin/idea.properties. Там можно посмотреть, где что лежит.
          • 0
            Это не работало, например, при предыдущем апгрейде EAP -> EAP++
        • 0
          Консоли с запросами хранятся в виде sql-файлов. Посмотрите в /Library/Preferences/0xDBE10/consoles/db/
          • 0
            Спасибо, консоли нашел.

            Но очень бы хотелось услышать рекомендации по миграции от сотрудников JetBrains.
            • 0
              Привет!
              Согласен, сделали мы не очень удобно: при запуске все настройки из 0xDBE автоматически не подтягиваются.

              У нас на форуме есть ответ от поддержки на вопрос о переносе настроек.
              devnet.jetbrains.com/message/5566570#5566570

              Чтобы не делать датасорсы глобальными, можно просто дефлотный проект 0xDBE открыть из DataGrip. Дефолтный проект находится \.0xDBE10\config\projects\default и \.DataGrid\config\projects\default соответственно.

              На Маке этот проект в Preference папка в ~/Libraries
  • +3
    Я вот одного не понимаю, зачем в создании таблицы всё распихивать по отдельным вкладкам? Места что ли мало? 28" моники уже в моду входят.

    А отдельный + для добавления строки таблицы — зачеееем? Ну сделайте вы 10 строк, которые оставят незаполненными те значит не нужны, их не обрабатываем. Если нужно больше столбцов тыкнут плюсик. Или микрософт это в Access-е запатентовал и теперь никому нельзя? Выбор типа поля никак нельзя оптимизировать? Выпадающее окно с вариантами (их там не миллионов тыщи). Четыре-пять самых популярных типа радиокнопками в строке.

    Я не знаю, может у вас там есть какие то крутые супер фишки, но на хозяйственно-бытовом уровне ощущения от гифок — тот же pgAdmin, только не бесплатно.
  • 0
    Я так понял, что в продукте нет средств даталогического проектирования. Если я прав, в будущих версия планируется добавления чего-то в этом направлении?
  • +2
    Пока что непонятно за что деньги брать, бесплатные продукты для работы с БД получше. С полной лицензией можно поставить, попробовать, а отдельно покупать непонятно зачем.

    Хочется:
    1) Подсказки/инспекции как по запросам (неопределенные значения колонок при group by), так и по структуре (длину поля таблицы можно уменьшить до 12 символов).
    2) Диаграммы (далеко не факт, что UML) по группе таблиц (непонятно есть или нет поддержка тегов/групп таблиц). Со связыванием не только по foreign key, но и кастомным (с угадыванием по названию поля user_id, например, и с явным указанием).
    3) Сравнение структур двух баз.
    4) Документирование базы (общий текст, на группы/теги таблиц, на таблицы и колонки) и генерация html-документации.

    Пока что это все приходится делать кучкой скриптов по большей части.
    • 0
      Сравнение двух баз есть — compare из контекстного меню.
  • 0
    Ошибка при попытке подключиться через SSH tunnel
    image
    • 0
      Извиняюсь, разобрался!
  • 0
    Авто-дополнение не работает для MS SQL

    image
  • 0
    Подумайте, пожалуйста, еще над дизайном сайта и заставки.
    • 0
      Думаем :)
  • +1
    Добрый день!

    Скачал, поставил. Выбрал дата сорс. В моем случае это SQL Server. Скачал драйвера. Пытаюсь подключиться. Вижу такую картину. Версии сервера не поддерживаются скачанными драйверами.

    image

    Может, конечно, я что-то делаю не так. Но подключиться так и не смог ни к одному из серверов: 2008, 2008R2, 2012, 2014, 2016.
    • +1
      Присоединяюсь к описанной проблеме. Тоже не получилось нормально поработать в SQL Server с помощью DataGrip. В свете текущего положения дел… можно ли использовать альтернативные драйвера, которые есть от SSMS? Разрешаете ли Вы использовать сторонние dot connect-ы?
      • 0
        У вас не получилось присоединиться к базе?
        • 0
          Да. Вначале не качался драйвер… После когда драйвер установился, сообщение при соединении было аналогичное как описано выше.
          • 0
            А не качался драйвер — это что происходило?
            • 0


              при этом в браузере я смог все нормально скачать. никаких прокси не использовал.
    • +1
      В вашем сообщении говорится о SQL server Version 8 а это SQL Server 2000.
      • 0
        У меня такое же сообщение было. Но соединялся я с 2012 и 2014 сервером.
        • 0
          Посмотрите пожалуйста мой ответ LangovoyAndrey
      • +1
        У меня целая пачка версий серверов. Перепробовал подключаться ко всем. Получаю одно и тоже сообщение.
        • 0
          А вы не могли бы попробовать две вещи:
          — Удалить номер порта и попробовать снова.
          — Если нет, то попробовать использовать jDTS драйвер.

          Возможно, порт и имя инстанса ссылаются в разные места. Драйвер реализован так, что приоритет имеет порт. В билжайшем апдейте мы сделаем так, что IDE будет сообщать вам, что так происходит.
          stackoverflow.com/questions/12732957/java-sql-sqlexception-sql-server-version-8-is-not-supported-by-this-driver-sql
          • 0
            1-я ничего не изменилось.
            2-ю уже пробовал. Скачал JDTS, и тестовое соединение вроде прошло.

            image

            однако потом, при клике на коннекшн получил такое

            image

            Invalid state, the Connection object is closed.
            • 0
              а вы в виде баги не хотите завести?
            • +1
              Создал баг: youtrack.jetbrains.com/issue/DBE-2090
              Пожалуйста, дайте нам в трекере побольше информации: может у вас включен фаерволл или есть ещё какие-то интересные детали.
    • 0
      Всё ещё не работает:
  • +1
    А вообще, компания JetBrains, могла бы и пива купить выдать лицензию на пару месяцев за то, что мы все кинулись тестировать этот инструмент!
    • +1
      Мы делаем это для тех, кто в том числе заводит тикеты в трекере — так мы можем хотя бы их посчитать :)
      • 0
        Подтверждаю. Как раз на днях от вас купон получил:
        image
      • 0
        А мне не дали =) Видимо потому что тикет пометили как дубликат и делать не стали.
        • 0
          думаете, достаточно одного тикета чтобы ключ дали? я первый ключ получил кажется после нескольких десятков тикетов, не считая авторепорты, которые IDEA сама отправляет. И то, я тогда даже о программе не знал — просто пользовался EAP, т.к. там были нужные мне фичи, которых не было в релизной версии
        • 0
          Ну в общем да, лицензия за один тикет это было бы слегка странно, не находите? =)
  • 0
    Две хранимки с одинаковым именем, но разным набором входных/выходных параметров. В результате открывает редактор только для первой, вторую никак уже не изменить.

    image
    • 0
      А не подскажете, в какой СУБД? В Postgres'е открывается текст сразу двух процедур. Что, конечно, не очень правильно, но не соотвествует тому, что вы описываете.
      • 0
        Да, вы правы, открывается текст двух процедур сразу. Ввёл вас в заблуждение.
      • 0
        И да, постгрес. :)
        • +1
          Завёл баг, будем чинить:
          youtrack.jetbrains.com/issue/DBE-2099

          Если заделаетесь watcher'ом, узнаете сразу, как только он будет починен.
          Спасибо!
  • 0
    Возможно я опоздал и кто-то когда-то уже говорил об этом, но наблюдаю баг с самого зарождения проекта: пропадают отступы в хранимом PL/SQL-коде (пакеты, триггеры, процедуры и т.д.). В таком режиме программировать невозможно, конечно же.

    DataGrip:
    DataGrip

    PL/SQL Developer:
    PL/SQL Developer
    • 0
      Он? youtrack.jetbrains.com/issue/DBE-1034
      Попрошу команду, чтобы уделили ему время :)
    • 0
      Зачинили эту штуку, она появится в ближайшем ЕАПе версии 1.1
      • 0
        Большое спасибо! Будем тестировать «зачин», как выйдет EAP.
    • 0
      А вот и релиз с этой починкой :)
      http://blog.jetbrains.com/datagrip/2016/04/20/datagrip-2016-1-released/
  • 0
    И ещё просьба. Можно ли сделать отключение JAyatana опциональным? Лично у меня никаких проблем с меню, интегрированным в заголовок окна, в продуктах JetBrains нет. Хотелось бы видеть его именно там, где привык.

    image
    • 0
      Напишите, пожалуйста, комментарий к указанному issue.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка