DataGrip 2022.2의 새로운 기능

DataGrip 2022.2가 출시되었습니다! 2022년 두 번째 주요 업데이트인 이번 릴리스에는 다양한 향상된 기능이 포함되어 있습니다. 어떤 내용이 있는지 지금부터 살펴보겠습니다!

여러 CSV 파일 가져오기 옵션

여러 CSV 파일을 선택하고 한 번에 가져오는 기능을 구현하여 파일 가져오기 프로세스를 개선했습니다!

Playground(플레이그라운드)Script(스크립트) 해결 모드

SQL 스크립트에서 데이터베이스 객체를 해결하려면 DataGrip이 해당 객체의 의미를 이해해야 합니다. 이는 IDE에서 코드 완성 기능을 올바르게 제공하고, 객체의 사용 위치를 링크로 처리하기 위해 필요합니다.

일반적으로 해결 컨텍스트는 실행 중인 컨텍스트와 일치해야 하지만, 해당 작업은 DataGrip에서 간편하게 처리할 수 있는 작업이 아닙니다. 최근까지 해결 관련 문제가 발생한 이유는 이 때문입니다. 이따금 발생 가능한 문제는 다음과 같습니다.

  • 모든 객체가 해결되었으나 데이터베이스에서 스크립트를 실행할 수 없음.
  • Auto-qualify(자동 한정) 옵션이 활성화되어 있고, 객체가 디폴트 데이터베이스 또는 스키마에 있다면, 한정되지 않은 상태로 유지될 수 있음.
  • 다른 데이터베이스나 스키마에 이름이 동일한 객체가 여러 개 있는 경우, 기존 열은 해결되지 않음. 또한 Expand column list(열 목록 펼치기) 액션으로도 잘못된 목록이 생성되는 경우가 있으며 존재하지 않는 열을 해결하게 될 위험도 있음.

이러한 문제의 원인은 DataGrip이 오른쪽 상단 드롭다운 메뉴에서 선택된 컨텍스트 디폴트 데이터베이스 또는 스키마(또는 SQL Resolution scopes(SQL 해결 범위) 설정의 항목)로 각 콘솔 또는 로컬 파일의 객체를 해결하는 데 있었습니다.

이러한 방식은 컨텍스트를 전환하는 USE 또는 SET SEARCH PATH 문이 포함된 스크립트에는 적합했으나, IDE는 파일 시작 부분에서 해결할 위치도 알아야 합니다. IDE는 이 방식으로 디폴트 데이터베이스 또는 스키마(또는 SQL Resolution scopes(SQL 해결 범위) 설정의 항목)를 파일 시작 부분의 가장 적합한 컨텍스트로 취급합니다.

즉, 파일에 USE 또는 SET SEARCH PATH 문이 포함되지 않은 경우 DataGrip은 파일의 시작 부분을 컨텍스트를 벗어난 곳으로 해결하지 않습니다. 이러한 상황을 해결하기 위해 Playground(플레이그라운드)Script(스크립트)라는 2가지 해결 모드를 도입하여 DataGrip이 따라야 할 접근 방식을 알려줄 방법을 만들었습니다.

Playground(플레이그라운드) 모드에서 DataGrip은 스키마 선택기, 해결 범위 또는 디폴트 데이터베이스의 값인 컨텍스트로 모든 객체를 해결합니다. 이 모드는 파일이 서로 독립적이고 특정한 순서가 없으며 연결되지 않은 쿼리 집합인 경우 적합합니다. Playground(플레이그라운드) 모드는 쿼리 콘솔의 디폴트 값입니다.

Script(스크립트) 모드에서 파일의 시작 부분은 컨텍스트로 해결되지만, 스크립트에 순차 논리의 일부인 USE 문이 있으면 해결할 컨텍스트가 변경됩니다. Script(스크립트) 모드는 쿼리에 순차 논리가 있으며 쿼리가 단일 스크립트로 실행되어야 하는 경우 적합합니다. Script(스크립트) 모드는 로컬 파일의 디폴트 값입니다.

모드 간 전환은 매우 간단합니다. 스크린샷에서와 같이 툴바의 드롭다운 메뉴를 사용하면 됩니다.

코드 생성

새로운 Modify(수정) UI

2022.1 릴리스에 도입된 기본 버전인 새로운 Modify(수정) UI가 디폴트 옵션으로 제공됩니다. DataGrip 2022.2 버전부터 새로운 UI를 사용하여 테이블의 모든 하위 객체를 추가 및 편집할 수 있습니다.

이번 릴리스에서는 컨텍스트 메뉴를 통해 기존 UI를 사용할 수 있습니다.

데이터 정렬 및 문자 집합 지원 SQL Server

이제 테이블의 DDL로 데이터 정렬 및 문자 집합이 생성됩니다.

키맵의 카테고리

이전에는 데이터베이스 기능과 관련된 모든 액션이 키맵의 서로 다른 위치 4곳에 저장되었습니다. 논리가 거의 필요하지 않은 이 구조는 IDE를 개발하는 과정에서 나온 산물이었습니다.

이제 사용 가능한 모든 액션을 확인할 수 있도록, 구조를 개선하고 모든 액션을 Database(데이터베이스) 상위 그룹 하에 그룹으로 배치했습니다.

DDL 데이터 소스의 범위

이제 파일 범위를 DDL 데이터 소스의 소스로 설정할 수 있습니다. 이 기능을 이용하면 DDL 데이터 소스 폴더를 쉽게 필터링할 수 있습니다. 예를 들어, 하위 폴더를 제외할 수 있습니다.

기타

Merge All Project Windows(모든 프로젝트 창 병합) 액션(macOS)

macOS를 사용하는 경우 열려 있는 모든 프로젝트 창을 탭으로 전환하여 하나로 병합하는 기능이 도입되었습니다. 이 액션은 Window(창) 메뉴에서 제공됩니다.

비밀번호 만료 경고 Oracle, Vertica

비밀번호가 만료될 예정인 경우 Oracle 및 Vertica 데이터베이스에서 경고를 제공할 수 있습니다. Test Connection(연결 테스트)가 활성화되면 DataGrip이 해당 정보를 불러와 표시합니다.

DuckDB, Mimer SQLApache Ignite 기본 지원

새로운 데이터베이스 3가지(DuckDB, Mimer SQLApache Ignite)가 기본 지원 목록에 추가되었습니다.

데이터 에디터

품질 개선

  • DBE-10971: 테이블 순서가 데이터 에디터에 저장됩니다.
  • DBE-7888: 날짜 선택기에서 2월을 다시 지원합니다!
  • DBE-15454: 이제 다양한 콘텐츠 타입이 있는 2진 열을 편집할 수 있습니다.
  • DBE-7804: 마지막 값이 비어 있고 새 줄이 없는 경우, CSV 가져오기가 마지막 줄에서 실패하지 않습니다.
  • DBE-15335: SQL-Insert-Multirow 추출기가 올바른 쿼리를 생성합니다.
  • DBE-14980: 셀에 관한 Quick Documentation(빠른 문서)을 열 때 관련 데이터가 자동으로 로드됩니다.
  • DBE-15639: DDL diff 미리보기의 Migration(마이그레이션) 창에서 OriginTarget 객체의 배치 오류가 수정되었습니다.
  • DBE-15694: 이제 연산자 패밀리 일치가 지원됩니다.
  • DBE-15644: PostgreSQL DDL 데이터 소스에 덤프할 때 Fire 모드가 적용됩니다.
  • DBE-8557: Azure SQL Database 페이지 크기를 제한하기 위해 SET ROWCOUNT가 Azure 쿼리보다 먼저 실행됩니다.

쿼리 콘솔

품질 개선

  • DBE-996: 이제 툴바가 검색창에 가려지지 않습니다.
  • DBE-11616: ClickHouse MODIFY ORDER BYALTER TABLE에 지원됩니다.
  • DBE-14643: SQL Server 변수 대입 중 condition is always false(조건이 항상 false입니다) 경고가 표시되지 않습니다.
  • DBE-12232: SQL Server CHANGETABLE이 이제 지원됩니다.
  • DBE-13312: SQL Server END CONVERSATION이 이제 지원됩니다.
  • DBE-12435: SQLite PRAGMA_TABLE_INFOPRAGMA_TABLE_XINFO 테이블이 올바르게 해결됩니다.
  • DBE-14997: PostgreSQL CTEINSERT INTO와 함께 사용할 경우 열이 올바르게 해결됩니다.