Pull to refresh

Comments 38

Крутые функции, как всегда. На мой вкус, IDE от JB самые удобные. Жаль, для этого продукта Community Edition не завезли.
На мой вкус, IDE от JB самые удобные.

Согласен! Ещё хорошо, что на степике лицензии к ним дают :)
А предполагается подобное для NoSQL СУБД?
Да, но не в ближайшем будущим. Я наизусть помню номер тикета в нашем трекере: 41 :) Мы знаем, что это надо делать.
А можете пояснить, почему не в ближайшем будущем, какие проблемы с этим связаны и как вообще компания смотрит на реализацию этого функционала? Если конечно, это не коммерческая тайна
Наверное потому, что NoSQL. Это же не фич добавить и не поддержку еще одной реляционной, где только со схемой разобраться, а все остальное по готовым шаблонам. Тут под каждую БД отдельный уникальный адаптер разрабатывать надо.
rjhdby ответил по делу :) Чтобы делать поддержку одной из NoSQL баз, нужны большие ресурсы. Чтобы их выделить, нужно сначала стать зрелым инструментом для реляционных баз: мы к этому идём, но всё еще не дошли: дебаггер, управление коннекциями, проектная модель, удобная интеграция базы и VCS — всё это ещё предстоит сделать.
Впрочем, если завтра нам напишет человек, который скажет: «хочу делать NoSQL», мы его с удовольствием возьмём.
Можно, хотя я не понимаю о каком вы слове)

об "с удовольствием" видимо :)

Ох, теперь это «будущим» навсегда вписано в моё личное дело :(

У datagrip большая беда с фильтрами схем. По крайней мере, для postgresql.
Он зачем-то выводит кучу служебных таблиц pg_toast_%/pg_temp_%, которых на production-серверах может быть ощутимое количество.
Плюсом к этому сам фильтр жутко неудобный. Если хочется выбрать вручную схемы для синхронизации — нужно кликать по каждой вручную. Пользуясь в течение полугода и EAP и стабильными ревизиями можно было наблюдать эволюцию этого фильтра. Сначала сделали хорошо и добавили возможность выделить схемы, затем включив нажатием пробела, а потом вернули как было.

Не очень понятно.
1. Вы имеет в виду таблицы или схемы? Вы же сами выбираете, что добавлять в дерево.
2. Про эволюцию фильтра непонятно. «затем включив нажатием пробела» — что это значит?) Можете подробно рассказать? Мы хотим сделать удобно :)

1.Я имею в виду схемы. постгрес во время работы создает много схем с названиями pg_temp_1, pg_temp_2, ..., pg_temp_100500 и pg_toast_temp_1, ...


Да, схемы можно выбрать. Но когда у вас десятки серверов в data sources, в каждом из которых по несколько баз с десятками-сотнями пользовательских схем, выбирать схемы для показа мягко скажем, неудобно.


Если же оставить галочку 'All schemas', в дереве будут сотни служебных схем, которые там только для того, чтобы мешать просмотру.


При этом пункт селектора 'Load sources for: All excl. system schemas' не влияет ни на что.
И паттерн в фильтре схем не может быть эксклюзивным, только инклюзивный.


2.Какое-то время назад в фильтре схем была возможность через Ctrl+ЛКМ выделить схемы, потом нажать пробел и у них всех бы поменялся чекбокс.


В трекере есть как минимум три задачи, связанные с этим.

1. Такая проблема есть, займемся. В качестве пока простого решения сделаем так, чтобы фильтр объектов работали на схемах.
2. Это баг. Починили, спасибо. Сейчас, кстати, работает, если вызывать фильтр через Alt+Enter :)
Мы по-тихоньку добавляем новые диалекты. С большей вероятностью те, где сами вендоры помогают нам с файлами грамматики и запросами. Так например произошло с Яндексом — следующей базой в нашем спсикке буедт ClickHouse. Для Информаикса есть тикет, все новости будут там: youtrack.jetbrains.com/issue/DBE-435
А можно попробовать вам в этом помочь? Если да, то как?
Ну я не знаю там… схему системных таблиц описать, какой нибудь код написать (какой и где?), еще что-то не очевидное, чтобы очередной диалект поднялся выше в очереди?
Да в принципе засылал резюме, ответа не пришло. Видимо фиговый программист. :)
Но если речь, например, об Информиксе, то помочь со стороны ещё как можно: например, прислать запросы для интроспекции или добыть файлы с грамматикой. Общий алгоритм у нас описан тут: www.jetbrains.com/datagrip/new_dbms
Не знаю в чем именно секрет MS, но ничего удобнее для работы именно с живыми данными чем Managment Studio не встречал. Везде вроде и функционал может быть шире. но не удобно с данными работать и все.
Если говорить конкретно по DataGrip, сразу приходи на ум несколько не удобных момент:
1) Не явность синхронизации схемы с сервером и не интуитивность того с чем ты сейчас работаешь.
Например в VS ты явно создаешь новый проект, загружаешь в него схему и работаешь с ней, при нажатии синхронизации, ты выбираешь с кем синхронизироваться( т.е. у тебя нет в заголовке конкретного сервера у тебя есть проект базы ), он тебе выдает Diff, ты явно комитишь нужные изменения, они генерируют SQL скрип который можно посмотреть.
В DataGrip смешиваются понятия подключения к базе и схемы базы.
2) Если в подключении не сохранить данные для входа, то настройку подключения нужно «переделать», т.е. войти в настройки еще раз и войти от туда на сервер. Если этого не сделать данные для входа при нажатии кнопки синхронизировать не будут запрошены, получишь ошибку.
3) Консоли некоторые позволяют обновлять данные, некоторые нет, я так понял обновлять данные позволяет только первая, но не уверен.
4) Концепция консолей вообще путанная, не очень понятно к какой конкретно базе какая консоль, только к какому серверу.

ИМХО мне мешает именно путаница между схемой и подключением полюс консоли, которые можно открыть, а можно jump, в какую jump ясно. Если есть лог запросов, я бы вообще сразу убивал консоли когда они явным образом закрыты и все.

Плюс вывод данных, но это опять таки к консоли. Он «отсоединен» от консоли и не понятно данные от какого запроса в каком output, плюс нельзя в одном окне выполнить сразу несколько запросов, чтобы получить несколько output( только по очереди и явно выбирая какой, при этом если запросы похожие, их не выбрать поскольку их сокращение может быть одинаковым, только смотреть порядок ).

И вот везде, во всех инструментах куча таких мелких неудобств, что отбивает всякое желание ими пользоваться после MS инструментов( хотя разработку баз из VS освоить не очень просто, но потом там все очень логично и удобно ).

Голая SSMS хороша в основном тем, что есть везде, где есть SQL Server.
SSMS в целом неплоха и растет, например, если сравнить SSMS 2008 и 2017, то очень многое улучшено в мелочах (а уж 2005 хуже даже не в мелочах, и конечно SSMS стопудово лучше, чем Query Analyzer + Enterpise Manager, но давайте не увлекаться археологией).
Но голая SSMS многого не умеет:


  • с гитом всё еще не умеет работать (ха-ха, но DG с ним пока до сих пор неочевидно работает)
  • "перейти к определению" нет.
  • рефакторингов даже типа safe rename нет
  • автокомплит на ключевых словах отсутствует

Это только то что вот прямо сходу вспомнил, если внимательнее посмотреть, то там много недостатков. Часть недостатков (в частности все, что перечислены выше) решены в SSDT и VS, но это не SSMS! А SSMS с плагинами (Apex, RedGate, dbForge и т.п.) это по цене заметно дороже DataGrip.


Но я присоединяюсь к тому, что DG (особенно из-за упомянутого смешения) концептуально ни для DBA (которые живыми базами оперируют), ни для dev, которые оперируют репозиторием, кодом, миграцией с версии на версию.


ЗЫ: у меня DG пока ничего не отбила, я пока надеюсь, что они приведут инструмент к крутому виду.

Голая SSMS вообщем не предназначена для серьезной разработки, она скорее для dba. В одной точке оперирование данными, схемами, логами, настройками.
Для разработки безусловно луче VS, при этом она вообщем прозрачна после SSMS.
Там и гит, и тесты, и скрипты развертывания и все что хочешь, правда только, если не ошибаюсь, в utimate.
Сам ищу инструмент который может VS или SSMS заменить для PG, но пока такого не нашел.
Мучаюсь в PGadmin, консолью и DG.
она скорее для dba

Ну автокомплит ключевых слов, git и переход к определению DBA точно не помешает.


если не ошибаюсь, в utimate

Ошибаетесь: git точно есть в community. Скрипты развертывания в целом есть, кажется в любом SSDT (даже в stand-alone). А вот с тестами — только с professional.


Раз уж упомянули, а есть реальный опыт разработки не крошечных проектов с SSDT и юнит тестами SQL?

Немного не в тему, но может кто знает — как в SSMS включить автодополнение операторов, чтобы из sel получить SELECT? И почему это не работает из коробки?

А его нет из коробки. Решение только поставить сторонние плагины. По сути другого пути нет.
Из популярного можно отметить:


  • SSMSBoost
  • ApexSQL
  • RedGate
  • dbForge Studio — но это прям глубокая переделка, по сути только движок VS чуть-чуть используется

Все хотят денег (чаще много), у всех какие-то кусочки есть и бесплатно. Автокомплит бесплатный есть у ApexSQL, но какой-то глючноватый и тормознутый.

Спасибо за развернутый ответ, буду смотреть. Что интересно — в vscode есть расширение для mssql м там работает автодополнение операторов, но при этом не работает автодополнение имен таблиц и колонок бд, идиотизм.
обновил, слетел ключ регистрации. ввел ключ регистрации, исчезли все коннекты ко всем проектам. спасибо, блин, большое

ваш платящий пользователь
Наверное вы не импортировали настройки. Попробуйте следующее: удалите конфиг папку (https://www.jetbrains.com/help/datagrip/2018.1/moving-your-data-sources-onto-another-computer.html#project_locations), а потом еще раз запустите IDE

Чтобы импортировать в 2018.2, видимо, надо было их сначала экспортировать в 2018.1, но я об этом ничего не знал.
просто подменить папку projects помогает частично. частично — проекты видны, но подсвечены красным и подклбчится нельзя из-за экскпшена.
вопрос — могу ли я где-то скачать 2018.1, забекапмтся и импортнуть в 2018.2?

Не надо экспортировать, он сам должен предложить импортнуть :)
А что за эксепшен? Вообще, датасорсы могут быть красными изза того что драйвера не скачаны.

не предложил :)
пользуюсь начиная с версии 2017.1 — ни единого разрыва! а тут такое :)


заменил папку, скачал драйвер, все стало ок

но че-то это нифига не юзерфрендли. и первый раз такой квест прилетает с обновлением

Согласен, но вообще должно предлагать перетаскивать настройки из предыдущей версии. Если не предложил, это баг.
Only those users with full accounts are able to leave comments. Log in, please.