DataGrip 2021.2가 출시되었습니다! 2021년 두 번째 주요 업데이트인 이번 릴리스에는 다양한 향상된 기능이 포함되어 있습니다. 지금부터 새 버전에서 제공하는 기능을 살펴보겠습니다!
DDL 데이터 소스 생성은 매끄럽게 데이터베이스 버전을 관리 하기 위해 장기적인 개발 과정에서 이룬 또 한 번의 도약입니다. 이를 통해 DDL 파일을 VCS 시스템에서 관리하면서 데이터베이스 구조가 업데이트될 때마다 파일을 다시 생성할 수 있습니다.
이제 실제 파일을 기반으로 DDL 데이터 소스를 생성할 수 있습니다. DDL 파일은 로컬에서 생성되고 새 데이터 소스는 이를 기반으로 합니다. 이러한 방식으로 언제든지 파일을 다시 생성하고 DDL 데이터 소스를 새로 고침할 수 있습니다.
실제로 작동하는 방식을 살펴보겠습니다.
SQL Scripts(SQL 스크립트) 컨텍스트 메뉴에 새로운 메뉴 항목인 Dump to DDL data source(DDL 데이터 소스로 덤프)를 추가했습니다.
대화 상자가 열리면 새로 생성된 파일이 저장될 폴더를 지정해야 합니다.
Generation(생성) 탭에서 이러한 DDL 파일이 생성되는 방식을 지정하세요.
마지막으로, OK(확인)를 클릭하여 DDL 데이터 소스를 만들면 됩니다.
새 파일이 있는 폴더가 프로젝트에 자동으로 첨부됩니다.
2021.2 버전에서는 UI를 통해 DDL 데이터 소스에서 객체를 생성할 수 있으며, 해당 파일이 로컬에 생성됩니다.
Local History(로컬 기록)에서 특정 리비전을 찾고 있다면 텍스트 검색이 도움이 될 수 있습니다!
DataGrip은 이제 객체 소스 코드에 대한 로컬 변경 사항을 추적합니다. 이 기능은 프로시저 및 함수로 작업할 때 특히 유용할 수 있습니다.
모든 객체의 소스가 파일에 저장되기 때문에 모든 외부 변경 사항도 로컬 변경 사항으로 간주됩니다. 데이터베이스를 내부 검사하면 이 파일이 새로 고침됩니다.
Local History(로컬 기록) 팝업을 사용하여 함수 또는 프로시저에 대한 변경 사항을 추적할 수 있습니다. 모든 외부 변경 사항은 두 번의 내부 검사 실행 중에 발생한 경우 하나의 변경 사항으로 간주됩니다.
일부 사용자들이 단축된 탭 이름이 마음에 들지 않는다는 피드백을 제공함에 따라 긴 탭 이름으로 다시 되돌리는 옵션을 도입했습니다. 긴 탭 이름을 선호하는 경우, Shorten Tab Titles(탭 제목 줄이기) 옵션을 선택 해제하세요.
탭을 두 번 클릭하거나 Shift+Ctrl+F12를 눌러 실행하는 Hide All Tool Windows(모든 도구 창 숨기기) 액션이 사용된 지는 오래되었습니다. 많은 사용자들이 이 옵션을 Maximize Editor(에디터 최대화) 액션으로 생각했고, 실제로 그렇게 작동했습니다!
분할 메커니즘을 도입한 후, 상황이 더욱 복잡해졌습니다. 이 액션으로 분할 탭이 숨겨지는 것인가요? 그래서 다음과 같은 조치를 취했습니다.
이제 코드 완성 목록에 표시되어야 하는 객체를 정의할 수 있습니다. 구체적으로, 스키마 전환기(또는 검색 경로)의 객체, 현재 범위의 객체 또는 모든 스키마의 객체만 표시하도록 정의할 수 있습니다.
스마트 완성으로 관리할 수도 있습니다. 스마트 완성은 코드 완성 단축키(보통 Ctrl+Space)를 여러 번 누르면 호출됩니다.
이제 MongoDB의 코드 완성에서 필드와 연산자를 사용할 수 있습니다. 자세한 내용은 이 게시물을 읽어보세요.
이제 데이터베이스 간 동의어에 대한 코드 완성 기능을 사용할 수 있습니다.
INSERT
문을 완성할 때 계산된 열이 고려되며 제안된 항목에 포함되지 않습니다.
재귀적 공통 테이블 표현식을 사용하는 쿼리가 이제 제대로 강조 표시되며 선택하지 않고 실행할 수 있습니다.
CTE 이름이 AS
키워드 앞에 올 때 이제 공통 테이블 표현식 구문이 지원됩니다.
데이터베이스 탐색기 설정(톱니바퀴 아이콘)에서 Separate Procedures and Function(프로시저 및 함수 분리) 옵션을 켜면 즉시 적용됩니다.
SQL Server에는 scala 및 테이블 함수에 대한 전용 노드가 있습니다. PostgreSQL의 경우 트리거 함수용 노드가 있습니다.
새로운 데이터베이스 트리 옵션인 Show Constraints and Triggers in the Schema(스키마에서 제약 및 트리거 표시)는 데이터베이스 탐색기에서 트리거, 키 및 색인을 고유한 개별 노드로 지정합니다.
이 기능이 왜 유용한가요?
데이터베이스 탐색기 설정에서 Sort Alphabetically(알파벳순 정렬) 옵션을 해제하면 객체에 자연 정렬이 적용됩니다.
Sort Alphabetically(알파벳순 정렬)를 해제했을 때의 결과는 다음과 같습니다.
Sort Alphabetically(알파벳순 정렬)를 해제했을 때의 결과는 다음과 같습니다.
그리고 Sort Alphabetically(알파벳순 정렬)를 선택했을 때의 결과는 다음과 같습니다.
CockroachDB는 이번 릴리스에서 완전히 지원됩니다. DataGrip은 더 이상 JDBC 기반 내부 검사에 의존하지 않고, 대신 기본 검사를 사용합니다.
이는 JDBC 기반 내부 검사보다 훨씬 빠릅니다. 또한 이전 버전에서는 role, deftype 및 check 제약 조건을 전혀 내부 검사할 수 없었습니다. 이제 내부 검사할 수 있는 전체 객체 목록에는 database, role, privilege, schema, sequence, deftype, table, view, mat view, index, column, constraints가 포함됩니다. 현재 알려진 이슈로는 partitions가 아직 내부 검사되지 않는 것이 있습니다.
얼마 전에 가상 외래 키 생성 메커니즘을 발표한 바 있습니다. 이제 이 메커니즘에 따라 pg_catalog도 가상 외래 키의 적용을 받습니다. 그 결과 몇 가지가 개선되었습니다.
첫째, JOIN
자동 완성으로 시스템 테이블을 쿼리할 때 도움이 됩니다.
둘째, 시스템 테이블에서 데이터로 탐색할 수 있습니다.
테이블스페이스, 데이터 파일 및 임시 파일에 대한 지원을 추가했습니다. 이제 이러한 부분에 내부 검사가 적용됩니다.
DDL 생성에도 포함됩니다.
연결된 서버의 객체에 대해 메타데이터를 사용할 수 없기 때문에 아직 완전히 지원되지는 않습니다. 연결된 서버는 데이터베이스 탐색기에 표시되며 생성에 필요한 DDL을 만들 수 있습니다.
이전 릴리스에서 도입된 컨텍스트 라이브 템플릿이 이제 데이터 에디터에서 작동합니다. 테이블로 작업하면서 쿼리하려는 경우, SQL 스크립트 액션으로 쉽게 해결할 수 있습니다.
최근, 추가 정렬을 위해 Alt+Click을 도입했습니다. 그러나 클릭 사용을 선호하는 경우 이 동작을 사용자 지정할 수 있습니다.
이제 MongoDB 컬렉션에 열을 추가할 수 있습니다. 이 액션을 통해 컬렉션의 문서에 새 필드를 추가할 수 있습니다.
Delete column(열 삭제)를 실행하면 표시된 페이지뿐만 아니라 전체 컬렉션에 걸쳐 데이터가 삭제됩니다.
UI 데이터 에디터의 도움으로 이제 CSV 파일에서 열을 추가 및 제거할 수 있습니다.
데이터 에디터에서 작업할 때 WHERE
및 ORDER BY
필드에 복잡한 절을 사용하는 경우가 있을 수 있습니다. 결과 쿼리로 계속 작업하려면 톱니바퀴 아이콘 아래에 있는 새 액션인 Copy Query to Console(쿼리를 콘솔에 복사)을 사용하세요. 그러면 디폴트 콘솔에서 쿼리가 열립니다.
보다 빠른 탐색을 위해 First row(첫 번째 행) 옵션을 제거했습니다. 팝업이 표시되지 않고, 참조하거나 참조되는 모든 행을 표시하는 테이블로 이동합니다.
다른 스키마의 객체를 가리키는 외래 키가 있고 이러한 객체의 이름이 같은 경우, 이러한 외래 키가 외래 키 탐색 UI에서 정규화된 것으로 표시됩니다.
내비게이션 바의 동작이 이제 더 간단해졌습니다. Enter 키를 누르면 항상 노드가 확장됩니다.
이전에는 Enter 키를 누를 때 테이블의 경우 데이터가 열리고 데이터 소스의 경우 콘솔이 열렸습니다.
노드를 여는 대신 내비게이션 바의 객체에서 탐색하려는 경우, 다음 탐색 단축키를 사용할 수 있습니다.
이제 함수, 프로시저 또는 연산자를 검색할 때 DataGrip이 Go To(이동) 창에 시그니처를 표시합니다. 이 기능은 오버로드가 심할 때 도움이 됩니다.
이번 버전부터 DataGrip UI가 중국어, 한국어 및 일본어로 완전히 현지화되어 보다 편리하게 이용할 수 있습니다. 현지화된 UI는 번들로 포함되지 않은 언어 팩 플러그인으로 제공되며, DataGrip에 쉽게 설치할 수 있습니다. 이미 150만 명이 넘는 사용자가 부분적으로 현지화된 EAP 언어 팩 버전을 사용하기 시작했습니다. 완전히 현지화된 환경을 지금 이용해보세요!
DataGrip에서 이제 프로젝트가 기본적으로 다른 모든 IntelliJ 기반 IDE와 같은 위치에 놓여집니다. 즉, 사용자의 홈 폴더에 있는 DataGripProjects 하위 폴더에 들어갑니다.
DataGrip의 프로젝트에는 데이터 소스, 콘솔 및 스크래치 파일, 연결된 폴더가 모여져 있습니다. 이전에는 구성 폴더에 저장되어 있었기 때문에 IDE를 업데이트할 때마다 IDE 설정과 함께 프로젝트가 복사되었습니다.
이로 인해 데이터 소스 목록이 비어 있는 경우가 있었습니다. 이 문제는 해결되었으며 이제 DataGrip이 다른 IDE와 동일하게 작동합니다.
프로젝트 마이그레이션의 오류로 인해 첫 번째 EAP 빌드를 사용한 일부 사람들이 즐겨찾기, 북마크, 실행 구성 또는 가상 외래 키에 대한 데이터를 잃어버렸을 수 있습니다. 이를 복구하려면 이전 버전에서 다시 마이그레이션을 해 주세요. 자세한 내용은 DBE-13410에서 확인하실 수 있습니다.
이들 버튼을 사용하면 Settings(설정) 창에서 더 쉽게 탐색할 수 있고 위치를 잃어버리지 않습니다.
Preferences/Settings(환경 설정/설정)의 새 노드로 Advanced Settings(고급 설정)를 추가했습니다. 여기에는 특정 사용 사례에 대한 몇 가지 옵션이 IDE의 도구별로 편리하게 그룹화되어 있습니다 대부분의 설정은 Registry(레지스트리)에서 이전되었지만 일부는 새로운 것들입니다.
몇 가지 주목할만한 설정:
새로운 Show Scratch Files(스크래치 파일 표시) 액션(Find Action(액션 찾기)을 통해 찾을 수 있음: Cmd+Shift+A)을 선택하면 팝업에 스니펫과 함께 스크래치 목록이 표시됩니다. Recent Locations(최근 위치) 팝업과 동일한 UI로 빠른 검색과 삭제가 가능합니다.
쿼리가 데이터를 반환하지 않고 Services(서비스) 도구 창이 이미 숨겨져 있는 경우, 창을 표시할 필요가 없습니다. 이제 Services(서비스) 도구 창이 표시되게 하는 작업을 직접 정의할 수 있습니다.
DBE-12079: PostgreSQL 내부 검사를 업데이트했습니다. 새로운 내부 검사의 주요 효과는 더 이상 중복되는 객체가 없다는 것입니다!
DBE-13164: 가상 외래 키를 사용하여 JOIN
문을 입력할 때 더 멈춤 현상이 발생하지 않습니다.
DBE-194931: 이제 빈 스크래치 파일이 자동으로 제거됩니다.