DataGrip 2022.3의 새로운 기능

DataGrip 2022.3이 출시되었습니다! 이번 주요 업데이트에서는 다양한 개선 사항을 제공합니다. 어떤 내용이 있는지 지금부터 살펴보겠습니다!

일반

Redis 지원

오랫동안 기다려온 Redis 지원이 구현되었습니다. 이제 Redis Single Instance 연결, 데이터 뷰어에서 키 값 탐색, 스마트 코딩 지원 기능을 활용한 Redis 쿼리 작성 및 실행 등이 가능합니다.

이 지원에 포함된 기능은 다음과 같습니다.

  • 연결: Redis Single Instance.
  • 내부 검사: 데이터베이스 및 키 관련 내부 검사(예: 내부 검사 도구의 디폴트 키 필터 설정 기능)
  • 데이터베이스 탐색기: Redis 6.0 버전 이상에서 지원되는 다양한 타입의 키가 포함된 별도의 폴더 및 기존 버전의 모든 키를 포함하는 폴더 1개.
  • 쿼리 실행: JDBC 드라이버는 대부분의 쿼리 실행 지원.
  • 코딩 지원: 코드 강조 표시, 키워드 완성 및 데이터베이스 및 키 해결.
  • 객체 에디터: 키 이름 변경 및 삭제.
  • 데이터 뷰어: 필터링 및 JSON 강조 표시.

자세한 내용은 이 블로그 게시물을 참조하세요.

설정에서 새로운 UI 사용 가능

지난 5월 IntelliJ 기반 IDE의 새로운 UI를 지원하는 비공개 테스트 버전 프로그램을 발표했습니다. DataGrip도 예외는 아닙니다!

새로운 UI의 첫 단계에서는 일부 제한된 수의 사용자만을 대상으로 개선된 IDE 디자인을 선보이는 것을 목표로 했습니다. 테스트 버전 프로그램은 유용한 피드백을 수렴하여 처리하는 데 도움이 되었습니다. 이제 누구나 새로운 UI를 사용해볼 수 있습니다.

Settings/Preferences(설정/환경 설정) | Appearance & Behavior(모양 및 동작) | New UI Preview(새로운 UI 테스트 버전)에서 새로운 UI를 선택하여 직접 사용해 보시고, 새 UI에 대한 의견을 들려주세요.

DataGrip의 새 UI는 지속적으로 개선되고 있습니다. 예를 들어, Run Configuration(실행 구성)을 만드는 것은 다른 IDE에서는 매우 중요한 작업이지만, 밝은 파란색 버튼을 사용하는 것은 최우선 순위로 지정해야하는 작업은 아닐 수 있습니다. 상단 툴바를 사용자 지정하는 방법에 대한 아이디어가 있으면 공유해 주세요.

새로운 Settings Sync(설정 동기화) 솔루션

이번 릴리스에서 IDE 설정을 동기화하는 솔루션을 재작업 했습니다. 이 솔루션은 기본적으로 번들로 제공되는 플러그인을 통해 구현됩니다. 다음과 같이 설정에 새로운 Settings Sync(설정 동기화) 옵션이 표시됩니다.

이전에는 설정 동기화를 위해 IDE Settings Sync(IDE 설정 동기화)Settings Repository(설정 저장소)라는 2개의 독립적인 플러그인이 사용되었습니다.

IDE Settings Sync(IDE 설정 동기화) 플러그인을 사용해 오셨다면 데이터가 새 플러그인으로 자동 마이그레이션되므로 별도의 조치가 필요하지 않습니다.

Settings Repository(설정 저장소) 플러그인을 사용하시는 경우 아직 마이그레이션이 진행 중이므로 현재 설정을 계속 사용하는 것이 좋습니다. 새 기능이 준비되면 IDE에 알림이 표시됩니다.

설정은 사용자의 JetBrains Account와 연결된 클라우드에 저장됩니다. 동일한 JetBrains Account와 연결된 다른 IntelliJ 기반 IDE를 사용하는 경우, 설정이 자동으로 동기화됩니다.

알려진 이슈: Settings(설정)의 Database(데이터베이스) 섹션은 현재 동기화되지 않습니다. 이 기능은 2022.3의 소규모 업데이트 중 하나에서 곧 제공될 예정입니다.

데이터 소스는 설정에 포함되지 않으므로 데이터 소스를 공유하려면 이 튜토리얼을 참조하세요.

가상 뷰

새로운 가상 뷰 컨셉을 활용하면 데이터베이스에서 뷰를 실제로 생성하지 않아도 뷰를 사용할 수 있습니다. 기본적으로 결과를 검색하는 단순한 쿼리이며 DataGrip 내부에 저장됩니다.

 

가상 뷰는 데이터베이스 탐색기에 표시되며 더블 클릭하여 실행할 수 있습니다.

SQL 코드에서 가상 뷰를 사용하는 것은 현재 지원되지 않습니다.

다이어그램 내 탐색

이제 다이어그램 요소에 대한 탐색 기능이 완벽히 지원됩니다. 다음과 같은 모든 주요 탐색 액션을 수행할 수 있습니다.

  • DDL 열기: Ctrl/Cmd+B
  • 데이터 열기: F4
  • 데이터베이스 탐색기에서 선택: Alt/Opt+Shift+B
  • 수정: Cmd/Ctrl+F6

데이터베이스 탐색기

빠른 필터

오랫동안 기다려온 기능 중 하나가 출시되었습니다! 이제 빠른 검색 사용 시 객체를 필터링할 수 있습니다. 필터와 일치하지 않는 모든 객체는 표시되지 않습니다.

패턴 기반 스키마 필터링

다양한 스키마를 사용 중인 경우 이 개선 사항이 매우 유용할 것입니다. 이제 정규 표현식 패턴을 기반으로 검사할 데이터베이스 또는 스키마를 선택할 수 있습니다. Add Pattern(패턴 추가)을 클릭하고 새 노드에서 정규 표현식 패턴을 정의하면 됩니다. 데이터베이스 또는 스키마는 해당 패턴에 따라 선택됩니다.

여러 패턴을 추가하면 다중성이 결합될 뿐 교차점은 생성되지 않습니다.

All(모두) 노드는 이전 버전과 다르게 작동하며, 디폴트 스키마를 자동으로 선택하지 않습니다. 이제 All schemas(모든 스키마), Default schema(기본 스키마) 또는 regexp 필터 적용 중에서 선택해야 합니다.

전역 데이터 소스의 색상

이제 전역 데이터 소스의 색상을 설정하면 해당 데이터 소스와 함께 해당 설정이 공유됩니다.

스크립트 파일 드래그 앤 드롭

스키마에 대한 스크립트를 실행하려면 Files(파일) 도구 창에서 스크립트 파일을 드래그 앤 드롭하면 됩니다.

데이터 에디터

날짜 및 시간 데이터 타입 서식 지정

이제 날짜 및 시간 유형의 필드가 데이터 에디터에 표시되는 방식을 사용자 지정할 수 있습니다. 설정은 Database(데이터베이스) | Data Editor and Viewer(데이터 에디터 및 뷰어)에서 확인하세요.

 

다음과 같이 3가지 유형의 필드를 사용할 수 있습니다.
Datetime/timestamp(날짜 및 시간/타임스탬프)(시간대 포함/불포함), Time(시간)(시간대 포함/불포함) 및 Date(날짜).

새로운 추출기: WHERE

선택한 값 범위를 WHERE 절의 일부로 추출할 수 있습니다.

  • 한 열의 값은 OR 연산자로 결합됩니다.
  • 한 행의 값은 AND 연산자로 결합됩니다.
  • 한 열의 값만 추출하면 IN 연산자로 결합됩니다.

여러 값으로 SQL 필터링

Filter by(필터링 기준) 액션은 이제 여러 값을 선택하는 경우 조건을 생성합니다.

텍스트 검색 필드: 선택 항목으로 채우기

텍스트 검색 시 Ctrl/Cmd+F를 누르면 커서 아래의 값이 검색 필드에 자동으로 채워집니다. 이 기능은 잘 알려진 텍스트 에디터 로직과 유사합니다.

구조체 값을 올바르게 표시 Big Query

이제 구조체 값의 표시 방식이 가독성 높게 개선되어, 각각의 중첩된 값이 별도의 열로 표시됩니다.

코드 작업

인텐션 액션 미리보기

이제 IDE의 제안을 적용하면 쿼리가 어떻게 변경되는지 즉시 확인할 수 있습니다. 사용 가능한 인텐션 액션 목록을 열고 옵션에 마우스를 올리면 미리보기가 표시됩니다.
인텐션 액션 목록이 열린 상태에서 F1/Ctrl+Q를 눌러 미리보기 기능을 비활성화할 수 있습니다.

한 줄 복사-붙여넣기

선택된 항목이 없는 경우 Ctrl/Cmd+C를 누르면 텍스트 에디터에서 전체 줄이 자동으로 선택 및 복사됩니다. 이 기능은 이전에도 동일한 방식으로 작동했으나, 한층 개선되어 줄을 더 간편하게 붙여넣을 수 있습니다. 다음 동영상에서와 같이, 선택된 항목이 없는 경우 복사한 줄은 캐리지 리턴이 표시된 새 줄에 붙여넣기 됩니다.

SQL 스키마 제너레이터의 새 레이아웃: Per Object By Schema and Type(스키마 및 타입별 객체에 따라)

Per Object By Schema and Type(스키마 및 타입별 객체에 따라)이라는 새로운 레이아웃이 있습니다. 전체 스키마에 대한 SQL을 생성하는 데 이 레이아웃이 사용될 경우 결과 파일은 객체 타입(테이블, 뷰 등)에 따라 폴더에 배치됩니다.

수정 사항

  • DBE-6156: Oracle SET ROW가 지원됩니다.
  • DBE-12766: SQL Server $PARTITION이 지원됩니다.

테이블 작업

가상 외래 키 UI

얼마 전 가상 외래 키 생성 기능이 도입되었습니다. 이 기능은 주로 다음과 같은 용도로 사용됩니다.

  • JOIN 절 코드 완성.
  • 다이어그램의 가상 관계 표시.
  • 데이터 에디터에서 데이터 관계별 탐색.

가상 외래 키 생성 시 쿼리의 JOIN 절에서 Store Relation(관계 저장) 인텐션 액션이 주로 사용되었습니다. 이 액션은 쉽게 찾을 수 없었으며, 전체 기능을 직관적으로 사용할 방법도 없었습니다. 이제 다음과 같이 변경되었습니다.

가상 외래 키가 데이터베이스 탐색기에 표시됩니다.

데이터베이스 탐색기 및 Modify Table(테이블 수정) 대화상자에서 이 키를 생성하거나 삭제할 수 있습니다.

빠른 문서의 테이블 크기 MySQL PostgreSQL

이제 MySQL 및 PostgreSQL 빠른 문서 팝업에 테이블 크기가 표시됩니다. 이를 확인하려면 Show table preview(테이블 미리보기 표시)를 클릭하세요.

연결

세션 템플릿 시작 스크립트

이제 세션 템플릿의 시작 스크립트를 설정할 수 있습니다. 즉, 해당 템플릿을 기반으로 새로운 세션이 생성될 때마다 스크립트가 실행됩니다. 예를 들어, Snowflake 내부 검사를 위해 DataGrip에서 use secondary roles all 구문이 실행될 수 있습니다.

인증 옵션 MongoDB

MongoDB 연결 대화상자에 다양한 인증 메커니즘이 추가되었습니다. 사용하려면 드라이버를 버전 1.16으로 업데이트하세요.

스키마 Diff 뷰어

객체 종속성 지원

스키마 Diff 뷰어에서 종속 객체가 고려됩니다. 종속 객체 중 가장 중요한 객체는 PostgreSQL IDENTITY 열입니다. 두 개의 동일한 IDENTITY 열의 관련 시퀀스가 다른 경우, 두 열을 비교할 때 차이점이 표시됩니다.

 

또 다른 예시는 다른 스키마에서 프로시저를 호출하는 트리거입니다. 루틴 이름이 다른 경우 트리거 간 차이점이 표시됩니다.

스키마 Diff 뷰어와 관련하여 짚고 넘어갈 두 가지 주요 제한 사항이 있습니다.

  • DBE-16814: 루틴/뷰가 본문의 일부 객체를 참조하는 경우 올바른 스크립트 순서가 보장되지 않습니다. 예를 들어, 루틴이 다른 루틴을 호출하면 두 번째 호출된 루틴이 첫 번째 루틴보다 먼저 생성된다는 보장이 없습니다.
  • DBE-15598: 소스 객체 본문, 디폴트 표현식 등에서 객체 제한이 올바르지 않은 경우가 있습니다.