company_banner

Как копировать источники данных в IDE на платформе IntelliJ

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

    — Копирование источника данных внутри одного проекта.
    — Общий источник данных для разных проектов внутри одной 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.

    JetBrains

    162,93

    Делаем эффективные инструменты для разработчиков

    Поделиться публикацией

    Похожие публикации

    Комментарии 12
      0
      Есть ли возможность подключить источник из одной IDE в другую? Например базы у меня в DataGrip, а код в PhpStorm.
        0
        Прямо «подключить» нет. Скопируйте его, как описано в посте.
          0
          Копирование не избавляет от необходимости синхронизации с СУБД… то есть мне не только копировать надо, но и поддерживать актуальность структуры на стороне PhpStorm… А если у меня например ещё код в GoLand использует базу — уже в трёх местах…
            0
            Да, вы правы. Мы подумаем, как это сделать.
              0
              Пока не придумали?
                0
                Не придумали, и, кажется, не придумаем в ближайшем будущем. Если две IDE будут ломится в один дата сорс и его cинхронизировать, при нынешней архитектуре это просто катастрофа :) Чтобы это сделать, нужно глубочайшие изменения сделать, на которые мы пока не готовы ради, хоть и полезной, но не жизнеобразующей фичи.
        +1
        Извините за оффтоп, но почините наконец уже обновление между минорными версиями хотя бы. Жму кнопку «Update and Restart», а ничего не происходит. По ссылкам на таски переход также не срабатывает
          0

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

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

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

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