Привет! В этом туториале рассмотрим несколько популярных сценариев.
— Копирование источника данных внутри одного проекта.
— Общий источник данных для разных проектов внутри одной IDE.
— Копирование источника данных в другую IDE, на другой компьютер, в другую галактику.
Тут всё просто: в контекстном меню есть пункт Duplicate. Сочетание клавиш: Ctrl/Cmd+D.
Пароль придётся ввести заново.
Источник данных можно сделать глобальным, такой источник данных «виден» из любого проекта, с которым вы работаете в этой IDE. Глобальные источники данных не видны из другой версии той же самой IDE.
Конечно, источник данных можно сделать обратно локальным.
Если источник данных глобальный, его можно перенести экспортом настроек. Но переносить все настройки хочется не всегда, а источники данных — глобальные тоже не всегда :)
Так что полезным будет знать о том, что источник данных можно копировать: в контекстном меню выберите Database tools > Copy data source to clipboard. Это сработает и с несколькими сразу.
В буфер обмена попадает вот такой XML:
Теперь нажмите + на панели инструментов и выберите Import from clipboard. Из XML в буфере обмена получится такой же источник данных, но без пароля. XML из буфера обмена можно пересылать коллегам в мессенджерах или по почте.
Пароли хранятся в KeePass, если вы на Windows и в нативных хранилищах на Linux and MacOS. Включить KeePass для любой операционной системы можно в Settings/Preferences > Appearance and behaviour > System settings > Passwords.
Если почему-то описанное не решает ваши задачи, пойдём глубже.
Как и в других наших IDE, в DataGrip вы работаете в контексте проекта. Проект — не самая очевидная сущность при работе с SQL, поэтому по умолчанию в DataGrip вы работаете в проекте default и, вероятно, вообще не знаете ничего про проекты, если не создавали их намеренно.
Вот где лежит этот проект:
Windows
Linux
~ is an alias for the home directory, for example, /home/john.
MacOS
В IntelliJ IDEA, PyCharm и других IDE локальные источники данных также прикреплены к проекту. Информация о них хранится в файле
Тут уж делайте что хотите: копируйте файл целиком, вносите изменения прямо в него или положите его под VCS.
Если источник данных глобальный, его в этом файле не будет. XML с глобальными источниками данных ищите в папке options на том же уровне, что и папка projects.
Надеемся, было полезно!
Команда DataGrip.
— Копирование источника данных внутри одного проекта.
— Общий источник данных для разных проектов внутри одной IDE.
— Копирование источника данных в другую IDE, на другой компьютер, в другую галактику.
Копирование источника данных внутри одного проекта
Тут всё просто: в контекстном меню есть пункт Duplicate. Сочетание клавиш: Ctrl/Cmd+D.
Пароль придётся ввести заново.
Общий источник данных для разных проектов внутри одной IDE
Источник данных можно сделать глобальным, такой источник данных «виден» из любого проекта, с которым вы работаете в этой IDE. Глобальные источники данных не видны из другой версии той же самой IDE.
Конечно, источник данных можно сделать обратно локальным.
Копирование источника данных в другую IDE, на другой компьютер.
Если источник данных глобальный, его можно перенести экспортом настроек. Но переносить все настройки хочется не всегда, а источники данных — глобальные тоже не всегда :)
Так что полезным будет знать о том, что источник данных можно копировать: в контекстном меню выберите Database tools > Copy data source to clipboard. Это сработает и с несколькими сразу.
В буфер обмена попадает вот такой XML:
Теперь нажмите + на панели инструментов и выберите Import from clipboard. Из XML в буфере обмена получится такой же источник данных, но без пароля. XML из буфера обмена можно пересылать коллегам в мессенджерах или по почте.
Пароли хранятся в KeePass, если вы на Windows и в нативных хранилищах на Linux and MacOS. Включить KeePass для любой операционной системы можно в Settings/Preferences > Appearance and behaviour > System settings > Passwords.
Если почему-то описанное не решает ваши задачи, пойдём глубже.
Как и в других наших 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)
werklop
23.05.2018 19:47Извините за оффтоп, но почините наконец уже обновление между минорными версиями хотя бы. Жму кнопку «Update and Restart», а ничего не происходит. По ссылкам на таски переход также не срабатывает
moscas Автор
24.05.2018 11:28Мы про это не в курсе. Вы заводили тикет?
werklop
24.05.2018 11:31нет, но на основании моего комментария как раз можете и завести
moscas Автор
24.05.2018 11:36Просто вы написали «наконец», как будто это известная проблема. А она оказалась неизвестной, и, вероятно, специфичной для вашего окружения. Я не сторонник просить людей заводить тикеты, но информации пока слишком мало. Так что прошу вас завести. Ну или кинуть сюда ось, версию ИДЕ, скриншоты (скринкасты) и логи. Спасибо!
Caravus
Есть ли возможность подключить источник из одной IDE в другую? Например базы у меня в DataGrip, а код в PhpStorm.
moscas Автор
Прямо «подключить» нет. Скопируйте его, как описано в посте.
Caravus
Копирование не избавляет от необходимости синхронизации с СУБД… то есть мне не только копировать надо, но и поддерживать актуальность структуры на стороне PhpStorm… А если у меня например ещё код в GoLand использует базу — уже в трёх местах…
moscas Автор
Да, вы правы. Мы подумаем, как это сделать.