DataGrip

IntelliJ 기반의 IDE 에서 Data 소스를 쉽게 공유하세요

800x418_Twitter_DG_DataCopy2

이번 튜토리얼에서는 아래와 같이 3가지 아주 유용한 IntelliJ 기반의 IDE 활용 사례를 공개합니다.

  • 하나의 프로젝트 내에서 데이터 소스 복사
  • 하나의 IDE 내에서 프로젝트간에 데이터 소스 공유
  • 하나의 IDE에서 다른 IDE로, 다른 컴퓨터로 데이터 소스를 복사

하나의 프로젝트 내에서 데이터 소스 복제

간단한 솔루션의 사소한 문제 : 선택한 데이터 소스의 상황에 맞는 메뉴에서 복제(Duplicate)를 클릭 하거나 Ctrl / Cmd + D를 누릅니다.

Duplicate

데이터 속성값 및 암호 모두 동일한 새 데이터 소스가 생성됩니다.

 

하나의 IDE에서 프로젝트간에 데이터 소스 공유

IntelliJ 기반 IDE에서 데이터 원본은 전역적(Global)으로 사용될 수 있습니다. 즉, 특정 IDE에서 실행하는 모든 프로젝트에서 볼 수 있게끔 할 수 있다는 뜻입니다. 기본적으로 데이터 소스는 로컬입니다. 데이터 소스를 전역적으로 사용될 수 있도록 하려면 툴바 (또는 컨텍스트 메뉴)에서 아래 보이는 Make Global 버튼을 클릭하십시오.

MakeGlobal

다시 로컬로 설정하려면 동일 버튼을 다시 클릭하십시면 됩니다.

MoveToProject

전역적(Global)으로 사용하는  데이터 소스는 동일한 IDE의 동일한 버전에서 여는 모든 프로젝트에서 모두 확인할 수 있습니다. DataGrip 2018.1을 사용하는 경우 다른 버전의 DataGrip 또는 IntelliJ IDEA에서 여는 프로젝트에는 전역적인(Global) 데이터 소스가 연결되지 않습니다.

 

한 IDE에서 다른 IDE 또는 다른 컴퓨터로 데이터 소스 복사

전역적(Global) 데이터 소스는 내보내기 설정을 통해 복사 할 수 있습니다 . 하지만 모든 설정을 내보내고 싶지 않으면 어떻게해야 할까요? 또한 만약에 글로벌 데이터 소스를 아예 사용하고 있지 않으면 어떻게 소스를 복사할 수 있을까요?

데이터 소스를 다른 IDE로 복사하는 가장 편리한 첫 번째 방법 : 필요한 항목을 선택하고 상황에 맞는 메뉴에서 데이터베이스 도구(Database tools) → 데이터 소스를 클립 보드로 복사(Copy data source to clipboard)를 선택하세요.

CopyToClipboard

또한 XML은 다음 예제와 같이 클립 보드에 복사됩니다.

XML

이 스니펫(snippet)을 메신저를 통해 동료에게 보내거나 컴퓨터의 다른 IDE로 가져올 수 있습니다. 이렇게하려면 데이터 소스 추가 ( + ) → 클립 보드에서 가져 오기(Import from clipboard)를 클릭하세요.

ImportFromClipboard

이 경우에는 데이터 소스가  암호없이 복사되므로 수동으로 입력해야합니다. DataGrip은 Windows의 KeePass 스토리지와 Linux 및 MacOS의 네이티브키 체인에 비밀번호를 저장합니다. 모든 OS의 KeePass에 암호를 저장하도록 IDE를 구성 할 수 있습니다. 이렇게하려면 설정 / 기본 설정(Settings/Preferences) → 모양 및 동작(Appearance and behaviour) → 시스템 설정(System settings) → 암호(Passwords)로 이동하십시오 .

Passwords-1

혹시나 상기 절차가 여러분의 요구를 충족시키지 못하면 고급 사용자 설정이 필요합니다.

DataGrip의 프로젝트는 다른 JetBrains의 IDE와 마찬가지로 컨텍스트(context) 기반으로 작동합니다. 프로젝트의 엔티티는 데이터베이스 개발자가 익숙하지 않은 것이므로 IDE를 실행하면 DataGrip에서 기본(default) 프로젝트를 만듭니다 . 새 프로젝트를 만들지 않는한 이 프로젝트를 기본(default) 프로젝트를 계속 사용하게 됩니다.

프로젝트에있는 모든 데이터 소스에 대한 정보는 이 프로젝트의 dataSources.xml 파일에 저장됩니다 .

기본(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

기본(default) 설정 이외의 다른 프로젝트를 만든 경우 , IDE 는 해당 프로젝트의 위치를 알고 있다고 가정합니다. 어쨌든 파일(File) → 최근 열기 (Open Recent)→ 프로젝트 관리(Manage projects) 로 가면 이미 열어둔 프로젝트 를 제외한 모든 프로젝트의 경로가 표시됩니다.

따라서 다른 IDE에서 프로젝트를 열면 암호가없는 모든 데이터 소스가 포함됩니다. \ .idea \ dataSources.xml 에 저장됩니다.

dataSourcesXML

이 파일을 변경하면 사용하는 데이터 소스에 영향을줍니다. VCS 아래에 배치하여 여러 사용자간에 데이터 소스 목록을 동기화 할 수도 있습니다.

DataGrip이 스키마 가시성 설정 및 사용자마다 다를 수있는 기타 정보를 저장 하는 dataSources.local.xml파일을 확인할 수도 있습니다. 데이터 소스가 전역화(Global) 되면 그 정보 는 projects 폴더 와 동일한 레벨 에있는 options 폴더에 저장됩니다 .

추가적으로 궁금한 점이 있으면 언제든지 댓글을 남겨주세요!

The Drive to Develop
JetBrains 팀

본 포스트는 영문으로된 내용을 번역한 자료입니다.

 

 

image description