Привет! В этом туториале рассмотрим несколько популярных сценариев.

— Копирование источника данных внутри одного проекта.
— Общий источник данных для разных проектов внутри одной IDE.
— Копирование источника данных в другую IDE, на другой компьютер, в другую галактику.

Копирование источника данных внутри одного проекта


Тут всё просто: в контекстном меню есть пункт Duplicate. Сочетание клавиш: Ctrl/Cmd+D.

image

Пароль придётся ввести заново.

Общий источник данных для разных проектов внутри одной IDE


Источник данных можно сделать глобальным, такой источник данных «виден» из любого проекта, с которым вы работаете в этой IDE. Глобальные источники данных не видны из другой версии той же самой IDE.

image

Конечно, источник данных можно сделать обратно локальным.

image

Копирование источника данных в другую IDE, на другой компьютер.


Если источник данных глобальный, его можно перенести экспортом настроек. Но переносить все настройки хочется не всегда, а источники данных — глобальные тоже не всегда :)

Так что полезным будет знать о том, что источник данных можно копировать: в контекстном меню выберите Database tools > Copy data source to clipboard. Это сработает и с несколькими сразу.

image

В буфер обмена попадает вот такой XML:

image

Теперь нажмите + на панели инструментов и выберите Import from clipboard. Из XML в буфере обмена получится такой же источник данных, но без пароля. XML из буфера обмена можно пересылать коллегам в мессенджерах или по почте.

image

Пароли хранятся в KeePass, если вы на Windows и в нативных хранилищах на Linux and MacOS. Включить KeePass для любой операционной системы можно в Settings/Preferences > Appearance and behaviour > System settings > Passwords.

image

Если почему-то описанное не решает ваши задачи, пойдём глубже.

Как и в других наших IDE, в DataGrip вы работаете в контексте проекта. Проект — не самая очевидная сущность при работе с SQL, поэтому по умолчанию в DataGrip вы работаете в проекте default и, вероятно, вообще не знаете ничего про проекты, если не создавали их намеренно.

Вот где лежит этот проект:

Windows
<SYSTEM DRIVE>\Users\<USER ACCOUNT NAME>\.<PRODUCT><VERSION>\config\projects\default

Linux
~/.config/projects/default
~ is an alias for the home directory, for example, /home/john.

MacOS
~/Library/Preferences/projects

В IntelliJ IDEA, PyCharm и других IDE локальные источники данных также прикреплены к проекту. Информация о них хранится в файле <PROJECT><NAME>\.idea\dataSources.xml

Тут уж делайте что хотите: копируйте файл целиком, вносите изменения прямо в него или положите его под VCS.

Если источник данных глобальный, его в этом файле не будет. XML с глобальными источниками данных ищите в папке options на том же уровне, что и папка projects.

Надеемся, было полезно!

Команда DataGrip.

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


  1. Caravus
    23.05.2018 14:59

    Есть ли возможность подключить источник из одной IDE в другую? Например базы у меня в DataGrip, а код в PhpStorm.


    1. moscas Автор
      23.05.2018 15:08

      Прямо «подключить» нет. Скопируйте его, как описано в посте.


      1. Caravus
        23.05.2018 15:11

        Копирование не избавляет от необходимости синхронизации с СУБД… то есть мне не только копировать надо, но и поддерживать актуальность структуры на стороне PhpStorm… А если у меня например ещё код в GoLand использует базу — уже в трёх местах…


        1. moscas Автор
          23.05.2018 17:30

          Да, вы правы. Мы подумаем, как это сделать.


  1. werklop
    23.05.2018 19:47

    Извините за оффтоп, но почините наконец уже обновление между минорными версиями хотя бы. Жму кнопку «Update and Restart», а ничего не происходит. По ссылкам на таски переход также не срабатывает


    1. Bringoff
      23.05.2018 21:03

      А если заюзать Jetbrains Toolbox?


      1. werklop
        23.05.2018 22:24

        а зачем устанавливать что-то еще, если функционал доступен «из коробки», а значит должен работать, либо убрать его нужно


    1. moscas Автор
      24.05.2018 11:28

      Мы про это не в курсе. Вы заводили тикет?


      1. werklop
        24.05.2018 11:31

        нет, но на основании моего комментария как раз можете и завести


        1. moscas Автор
          24.05.2018 11:36

          Просто вы написали «наконец», как будто это известная проблема. А она оказалась неизвестной, и, вероятно, специфичной для вашего окружения. Я не сторонник просить людей заводить тикеты, но информации пока слишком мало. Так что прошу вас завести. Ну или кинуть сюда ось, версию ИДЕ, скриншоты (скринкасты) и логи. Спасибо!