company_banner

Доступна 0xDBE 1.0 Preview

    JetBrains приближается к релизу новой IDE для работы с SQL и базами данных. Мы запустили EAP программу год назад и благодарим всех её участников. Как всегда, ваши мнения и пожелания сделали наш продукт лучше.

    Мы рады представить вам 0xDBE 1.0 Preview. Это отличный шанс попробовать нашу новую IDE и поделиться впечатлениями, что поможет нам сделать 0xDBE ещё лучше к моменту релиза.



    Нам нравится название 0xDBE, но оно всё же рабочее, и к релизу мы выберем другое — более читаемое.

    Ещё мы хотим лучше узнать наших пользователей и понять, как вы работаете с базами данных, поэтому составили небольшой опрос. Просим пройти его, на это уйдёт 5-8 минут. Среди тех, кто принял в нём участие, мы разыграем десять годовых лицензий на 0xDBE.

    Итак, вот что мы добавили с момента запуска EAP:

    Быстрая и точная интроспекция

    В первую очередь, мы переработали алгоритм получения мета-информации о базе данных и расширили стандартную JDBC-интроспекцию для большинства поддерживаемых СУБД. Помимо увеличения скорости это привело к улучшениям в графическом интерфейсе — теперь объекты базы данных сгруппированы по типам:



    Управление объектами БД

    При нажатии Ctrl+F6 (Cmd-F6 для OS X) на имени таблицы в текстовом редакторе или в окне Database view открывается окно Modify Table, в котором можно добавлять и удалять столбцы, менять их свойства, добавлять и удалять ключи и индексы. В реальном времени генерируется DDL-скрипт, который будет выполнен для этих изменений:



    Текстовый поиск

    Теперь доступен текстовый поиск по результату запроса. Например, вам нужно найти данные, а столбец забыли. Есть поддержка регулярных выражений:



    Кодогенерация запросов

    По нажатию Alt+Ins (Cmd-N для OS X) в текстовом редакторе доступна генерация DDL-запросов. В появившемся окне вы можете создавать таблицы, функции и процедуры на основе графического интерфейса. Если курсор находится внутри существующего DDL-запроса, IDE предлагает изменить столбец, добавить ключ или индекс.

    Получившийся код вставится в текстовый редактор или сразу выполнится в базе данных:



    Когда вы собираетесь вставить данные, используя несколько идущих подряд предложений INSERT, эти данные можно редактировать в виде таблицы ещё до вставки. Если вы добавите строчку в эту виртуальную таблицу, ещё одно предложение INSERT сгенерируется в редакторе.



    Консоли запросов

    Мы вынесли открытие новой консоли в отдельный пункт меню. Перемещайтесь между несколькими консолями в окне Files, через меню Recent Files, в Navigation toolbar или по Ctrl+Tab. У каждой консоли есть переключатель контекста — меняйте схему для выполнения скрипта, не создавая новую консоль:



    История изменений

    IDE локально хранит историю изменения каждого файла. В смежных окнах можно сравнить версии и откатиться к любой из них:



    Исполнение запросов

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



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



    Если курсор стоит вне SQL-кода, то также есть три опции: IDE может выполнить все запросы в файле, выполнить только запросы ниже курсора или не делать ничего.

    Выполнение запросов из Structure view

    По нажатию Ctrl+Enter (Cmd-Enter для OS X) запрос выполняется прямо из окна Structure view. Это удобно, если вам нужно быстро выполнить только некоторые запросы из файла:



    План выполнения

    Для запросов доступен план выполнения:



    Сравнение результатов запросов

    Результаты выполнения двух запросов возможно сравнить в смежных окнах. IDE подсвечивает разницу и позволяет изменять строгость критерия оценки равенства строк. То есть, если вы хотите считать равными строки, которые отличаются данными только в одном (или более, на выбор) столбце, это указывается в значении параметра Tolerance. Любой столбец также может быть исключён из процесса сравнения:



    Поддержка формата CSV

    Для редактирования CSV-файлов или других табличных данных в тексте выберите пункт Edit as Table из контекстного меню. Откроется окно настроек, в котором вы можете указать разделитель, определить, есть ли в файле заголовки, в каких случаях брать значения в кавычки и т. д. Данные из файла сразу отобразятся в виде превью таблицы:



    Настройки запросов с параметрами

    Мы обновили окно настроек параметризированных запросов, которое находится в
    Settings → Database → User Parameters. Теперь подсвечиваются регулярные выражения, а также есть возможность выбирать диалект, в котором будут использоваться шаблоны:



    Диаграммы

    Вы можете смотреть диаграммы с наглядным отображением зависимостей между объектами:



    Улучшенная навигация по объектам БД

    Для того чтобы перейти к любому объекту базы, нажмите Ctrl+N (Cmd-O для OS X) и введите его имя в текстовое поле. Если это таблица, вы увидите табличный редактор, а если функция или процедура, откроется редактор с DDL-скриптом для её изменения:



    Плагины по умолчанию из Intellij IDEA теперь могут быть установлены в 0xDBE. Это Terminal, Git, Subversion и другие.

    В дополнение ко всему, мы улучшили поддержку HiDPI для Windows и Linux, добавили Distraction Free mode — режим, в котором вы видите только текстовый редактор, а также сделали много других небольших улучшений.

    Мы планируем релиз нашей IDE для SQL-разработчиков на середину ноября. Она будет доступна в рамках JetBrains Toolbox, как «Single IDE», а также как часть пакета «All Products».

    Будем рады ответить на любые вопросы!
    JetBrains
    Делаем эффективные инструменты для разработчиков

    Комментарии 64

      +19
      У 0xDBE есть преимущества перед родственным плагином к Idea ultimate или функционал один и тот же?
        0
        Пока один и тот же. Впоследствии, возможно, 0xDBE будет уметь больше.
          0
          надеюсь под «уметь больше» будет относиться только к удобству и изначальной заточенности IDE, как например отличия между PhpStorm и IDEA+набор_плагинов.
            0
            Пока это достигается за счет урезания возможностей плагина.
            Например куда-то за горизонт, даже из документации, исчез json data extractor.
          +24
          По-моему отличное название. Может все же оставить его? За год использования уже сильно к нему привыкли)
            +5
            Крутое название, жаль если сменят.
              0
              Да, я тоже за 0xDBE.
                +3
                Присоеденяюсь. Не меняйте. Для девелоперов продукт же.
                  +4
                  И произносить удобно: «охдбе» :)
                  +1
                  а есть ли работа с триггерами? в EAP версии не нашел…
                    0
                    Visualization диаграммы хорошо бы превратить в редактор, kак у Visual Paradigm
                      +3
                      Написал вам года полтора назад фич реквест, с тех пор ничего не произошло.
                      Хотелось бы иметь поддержку InterSystems Caché.
                        +3
                        Когда появится поддержка тригеров в Postgres?
                          +1
                          Из того, что сходу видно и очень хочется по Постгресу:
                          — поддержка команд \l, \d и т.д.
                          — синтаксис других pl-языков, не только plpgsql (другие — это, например, plv8)

                          Сейчас, думаю, ещё набежит фидбэк от сообщества: www.facebook.com/groups/postgresql/permalink/391784527684967
                            0
                            Будем благодарны, если вы создадите feature request здесь у нас в issue tracker
                            0
                            Думаем, в минорных релизах втечение года.
                            0
                            Попробовал открыть файл sqlite — написала ошибку
                              +5
                              Через File -> Open...? Так не работает, база Sqlite подключается как взрослая, через Data Source
                              0
                              Огромное спасибо команде за великолепный продукт! Использовал еще в ранней бетта, но даже в зачаточном состоянии 0xDBE была на голову выше чем родная студия в MSSQL. Особенно было круто работать с MSSQL сидя в линуксе. А сейчас еще и баги починили. Однозначно рекомендую!
                                0
                                MongoDb планируется? Какая цена будет? Так то под линем и dbeaver с mssql работает нормально.
                                И сделайте tool button включеными по умолчанию, а то минут 5 искал как список таблиц посмотреть.
                                  0
                                  MongoDB есть в планах, но больше пока сказать не можем. Что касается цены, в конце поста есть ссылка на цены наших IDE по программе JetBrains ToolBox.
                                  0
                                  Под Windows очень долго использовал dbForge Studio for MySQL. Считаю, что это лучшее решение для работы с MySQL. Всё сделано очень удобно, что сильно ускоряет работу. Но есть одно «но»: он только Windows. Моя основная рабочая ОС — MacOS, и я не видел ещё ни одного менеджера для MySQL, который хотя бы близко подошёл по удобству работы и функциям к dbForge. Сейчас использую Sequel Pro, он быстрый, достаточно удобный, его хватает для многих задач, но некоторых функций в нём очень не хватает: например нельзя отредактировать индекс. Понятно, что в любом случае нужно будет удалить его и создать новый, но когда нужно добавить поле в составной индекс — очень не удобно расставлять всё с нуля. Было бы здорово, если наконец появится достойный кросплатформенный менеджер БД. Navicat и Mysql Workbench очень далеко пока до удобства, хотя они полны функционалом.
                                    +1
                                    Хотелось бы чтобы эта IDE была чем то средним между возможностью писать код и источником информации по структуре базы.
                                    Написать запрос не проблема, а вот знать, что таблица в себе содержит и как она относится к другим таблицам это иногда загадка дня на три.
                                    То есть этакая «база знаний» о базе данных. После года в продакшн и пары перешедших на другую работу dba очень тяжело искать информацию о структуре объектов.
                                    Хорошая попытка была реализована в Toad Data Modeler, но там все мышкой и писать запросы не получится.
                                    Хотелось бы иметь IDEA но для базы, когда все «под руками» и понятно как писать запрос для реализации поставленной задачи.
                                    Спасибо за хорошие продукты.
                                      +2
                                      Как бы я ни ненавидел SQL Server Studio, перейти на 0xDBE пока невозможно.

                                      Бросившиеся в глаза проблемы:
                                      1. Не индексируются базы данных кроме дефолтной (независимо от настройки схем).
                                      2. Невозможно нормально работать с xml-полями. Необходима возможность посмотреть отформатированный и подсвеченный xml.
                                        0
                                        1. Да, это очень важная вещь и мы планируем реализовать её в ближайших минорных релизах.
                                        2. Будет доступна опция Edit as xml… с подсветкой. Больше информации можно найти здесь: youtrack.jetbrains.com/issue/DBE-1764
                                          +2
                                          1. Супер! Спасибо.
                                          2. Ну так это мой тикет. Я только что подробно объяснил в нем, почему это не решает проблему. Будем надеяться, что он не потеряется среди закрытых. Переоткрыть-то я его не могу.
                                            +1
                                            2. Мы переоткрыли тикет и думаем над этим, спасибо)
                                          0
                                          1. Всё ещё не работает?
                                            0
                                            Базы теперь индексируются, xml вроде как до сих пор грустный.
                                              0
                                              У вас какая база? MySQL?
                                                0
                                                Нет MS SQL Server.
                                                Я имею в виду https://youtrack.jetbrains.com/issue/DBE-1764

                                                Сейчас уже стало намного лучше, потому что тип кода определяется автоматически, но с большими xml все равно не очень удобно работать.

                                                Edit maximized разворачивает только на размер своего таба, а это обычно не очень много.
                                                Можно ли как-нибудь развернуть на весь экран?
                                                  0
                                                  Наверное, вы видели, что вашим тикетом мы занимаемся. Надеюсь всё будет готово вскоре, может даже успеем к EAP версии 2016.2
                                                  Вопрос про edit maximized — почему вы не можете раскрыть сам таб до размеров всего окна?
                                                    0
                                                    Да, видел. Спасибо.
                                                    Я периодически запускаю DataGrip и смотрю на прогресс.

                                                    Попробовал раскрытие таба. Пользоваться можно, но опять же, вопрос в том, сколько действий нужно сделать:
                                                    1) максимизировать окно (C+S+")
                                                    2) редактировать максимизировано (S+Enter)
                                                    3) форматировать xml (C+A+l)

                                                    Из оставшегося печалит отсутствие поддержки xml-функций (exist/nodes/value). На это я даже вроде делал тикет.
                                                    Кстати, еще не парсятся table valued functions.
                                                    Впрочем, это уже косметика. Просто раздражающие оранжевые подчеркивания =)
                                                      0
                                                      Ах да, в очередной раз попробовал, и вспомнил про вот этот баг:
                                                      https://youtrack.jetbrains.com/issue/DBE-2111

                                                      Давно зарепорчен, не двигается, сильно портит все.
                                                        0
                                                        Мы переписываем хранение исходников и всё, что с этим связано. Так что будет, но не сразу.
                                          +1
                                          Жаль что Firebird не поддерживается, Но то что есть уже круто. Назовите проект Data Miner ))
                                            0
                                            Firebird можно подключить самому, есть же JDBC
                                            0
                                            У нас на рабочем проекте при попытке просмотреть список таблиц пишет «loading...» и ничего не происходит (MS SQL Server).
                                              0
                                              Очень мало информации. Если вы готовы предоставить больше информации о происходящим, пожалуйста, воспользуйтесь нашим issue tracker'ом.
                                              0
                                              Как дилетант спрошу, это что-то вроде Toad от Quest Software?
                                                0
                                                > «Будем рады ответить на любые вопросы!»
                                                Отвечать-то здесь будете на вопросы?
                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                    0
                                                    Пока что всё, что работает в 0xDBE, доступно и в других наших IDE, которые поддерживают DataBase tools.
                                                      0
                                                      Немножко не в тему, но при запуске PhpStorm 9 вылазит предложение перейти на IDEA c DataBase tools, типа лучше будет работать с базами. В шторме этот модуль какой-то ущербный?
                                                        0
                                                        А можеет подробней описать, в какой момент это происходит?
                                                          0
                                                          Хм… Не могу специально воспроизвести (может из-за уведомления upgrade subscription — на днях стало всплывать), хотя иногда несколько раз на дню видел и за последние дней 10 точно несколько раз. В общем появляется, как минимум, при запуске PhpStorm 9.0.2 с активной подпиской, если на предыдущем выходе на проекте с имеющимися соединениями с MySQL и MS SQL, с активно используемой MySQL консолью, с кучей .sql-файлов (на других проектах ни соединений не настроено, ни консоль ни разу не открывалась, а sql-код только внутри php-строк). Ещё отличие этого проекта от остальных — ведётся больше двух лет, то есть файлы проекта создавались ещё PhpStorm 6 (остальные 8-9). Ещё отличие — единственный, который расположен в удаленном каталоге, смонтированном локально (собственно уже на автомате закрываю сообщения о переходе на IDEA и уведомление о медленности синка).

                                                          В общем, если это баг, то зарепорчу как появится. А так вопрос остаётся в силе — можно даже немного расширить — если в вашей IDE есть поддержка баз данных, то во всех ваших IDE (плюс-минус временной лаг на мажорные версии) она одинакова, или только в IDEA (и теперь в 0xDBE) полноценная, а в остальных «несерьезных» типа PhpStorm урезанная? Или если есть PhpStorm, то ради лучшей поодержки БД смысла приобретать ещё и IDEA или 0xDBE нет?
                                                    +3
                                                    По-настоящему оценить, насколько это прекрасно, можно только попробовав какой-нибудь MySQL Workbench или pgadmin.
                                                      0
                                                      Да, pgadmin много крови попортил.
                                                        +1
                                                        pgadmin — не только тулза для выполнения запросов, но и для администрирования сервера. на сколько я смог попробовать 0xDBE — нет там администрирования, т.к. это самая тяжелая часть функционала, и требует своей реализации под каждую DB
                                                          0
                                                          Надеюсь, это появится.
                                                            +1
                                                            Да, сейчас инструментов администрирования нет. И мы понимаем, что для полноценной конкуренции с другими продуктами они должны быть. Сейчас мы собираемся выпустить первую версию нашего продукта и планируем добавить в него много нового в последующих релизах.
                                                        0
                                                        Возможность не загружать blob поля реализована как-то странно. Есть настройка LOB length limit, но как быть если все-же нужно посмотреть этот BLOB? Опять лезть в настройку?

                                                        И при редактировании настройки souce в разделе schemas, постоянно ошибка:

                                                        [08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. java.net.ConnectException: Connection refused
                                                          0
                                                          Либо так, либо можно задампить BLOB. Right Click -> Save LOB… Если у вас есть идеи, как это лучше сделать, самый эффективный способ — очень кратко изложть их в нашем issue tracker.
                                                          Что же касается описанной ошибки, какая у вас СУБД? MySQL? Успешно ли проходит Test Connection?
                                                            0
                                                            Идеально было бы если загрузка блоба происходила по двойному клику на ячейке, как это сделано в большинстве подобных продуктов.

                                                            На счет ошибки:
                                                            Скрытый текст
                                                            image

                                                            А при переходе на вкладку «Schemas»
                                                            Скрытый текст
                                                            image



                                                            А в целом, 0xDBE мне очень нравиться)
                                                              0
                                                              Я создал issue у нас в трекере. youtrack.jetbrains.com/issue/DBE-1777
                                                              Указал там всю доступную на данный момент информацию. Будет круто, если вы приложете туда свои логи или ещё какую-нибудь полезную информацию.
                                                              Вы можете отслеживать issue и быстро узнавать, если есть какие-то новости.
                                                              Спасибо!
                                                          0
                                                          Скажите, пожалуйста, что подразумевается под названием баз данных «Sybase»? Sybase ASE, SQL Anywhere или Sybase IQ.
                                                          Я попробовал подключиться к SQL Anywhere, но оказалось, что 0xDBE, видимо, работает через jConnect, а не через JDBC-драйвер, о которым пишут тут: SQL Anywhere JDBC driver. Если что, всякие «за и против» разных драйверов хорошо описаны здесь.
                                                          Спасибо.
                                                            0
                                                            Подразумевается ASE. Мы пока не поддерживаем SQL Anywhere.
                                                            0
                                                            А возможности сравнивать схемы БД с генерацией диф скрипта нету ???
                                                              0
                                                              Не хватает выбора БД в уже установленном подключении к ms-sql, а так же выбора БД из консоли. Очень не удобно создавать по подключению для каждой базы на сервере
                                                                0
                                                                Да, это одна из тех фич, которые у нас в самых ближайших планах к реализации, это действительно важно.
                                                                0
                                                                moscas могу ли я попросить реализовать механизм шаринга внутри команды списка серверов?
                                                                Желательно без использования внешнего сервера и не через UDP. К примеру, чтобы члены команды указали ссылку на компьютер одного(или любого p2p) коллеги и получили весь список серверов с настройками. Ну и чтобы это все автоматически обновлялось при правках у всех.
                                                                  0
                                                                  Конечно можете. И именно для этого у нас есть issue tracker, где мы вас происм создать feature request и всё это описать.
                                                                  0
                                                                  Было бы удобно, если бы 0xDBE умел работать с vagrant, IDE и так определяют его, но, чтобы подключиться к базе надо или проксировать через ssh(настраивать) или пробрасывать порт наружу(настраивать и не всегда возможно), было бы клёво если он делал это сам, а то и по популярным портам выдавал список доступных БД. Второе это так на подумать.
                                                                    0
                                                                    Будет ли редактирование/создание routines в виде как, например, в Навикате?

                                                                    image

                                                                    На маке нет других приличных средства для работы с пг. Интерфейс, подобный интерфейсу на скрине, пожалуй удобнее ручного написания ДДЛ.

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

                                                                    Самое читаемое