DataGrip 2024.1이 출시되었습니다! 2024년 첫 번째 주요 업그레이드에는 수많은 개선 사항이 가득합니다. 새로운 기능과 업데이트를 모두 살펴보겠습니다!
이제 AI Assistant를 사용하면 AI 채팅에 컨텍스트에 대한 데이터베이스 스키마를 연결하여, 생성된 SQL 쿼리의 품질을 향상할 수 있습니다. 현재는 테이블 이름과 열 이름만 연결되며 최대 테이블 수는 50개입니다.
이 기능을 사용하려면 AI Assistant가 프로젝트 데이터베이스의 객체를 검색할 수 있도록 동의해야 합니다.
새 스키마를 연결할 때마다 이 작업을 수행하거나 AI Assistant가 사용자의 선택을 기억할 수 있도록 Attach Schema(스키마 연결) 팝업에서 옵션을 간단히 선택하면 됩니다. 이 옵션을 선택한 경우 Enable database context(데이터베이스 컨텍스트 활성화) 설정이 자동으로 켜집니다.
중요: Enable database context 설정을 선택하면 AI Assistant가 모든 데이터 소스의 모든 객체 이름에 액세스할 수 있습니다.
이제 에디터 내 Explain Code(코드 설명)와 같은 컨텍스트 메뉴 기능은 데이터베이스 콘솔에서 호출될 때 현재 스키마를 이해합니다.
AI Assistant가 스키마를 인식하므로 사용자는 다음을 수행할 수 있습니다.
이상은 가능한 작업의 몇 가지 예시일 뿐이며 가능성은 무한합니다!
오랫동안 기다려온 기능이 드디어 나왔습니다. 이제 열의 값을 기준으로 행을 필터링할 수 있습니다.
이 방법은 데이터베이스에 쿼리를 보내지 않기 때문에 빠릅니다. 단, 필터는 현재 페이지에만 적용됩니다. 더 많은 정보를 필터링하려면 간단히 페이지 크기를 변경하거나 모든 데이터를 가져오면 됩니다.
현재 데이터 에디터에서 모든 로컬 필터를 끄려면 Enable Local Filter(로컬 필터 활성화) 버튼 을 선택 해제하세요.
그리고 로컬 텍스트 검색 기능(Ctrl/Cmd+F
)도 잊지 마세요! 이 기능은 수십 년 동안 사용되어 온 것으로, 특히 검색하려는 데이터의 위치를 대략만 알고 있는 경우에 여전히 유용할 수 있습니다.
이제 데이터 에디터에서 단일 레코드에 집중할 수 있습니다. 레코드 뷰를 열려면 Ctrl/Cmd+Shift+Enter
단축키를 사용하거나 툴바에서 Record View(레코드 뷰) 버튼 을 사용하세요.
레코드 뷰의 셀도 편집 가능합니다(기본 그리드에서 셀을 편집할 수 있는 경우).
상황에 따라 레이아웃을 두 개의 열로 변경할 수도 있습니다.
2024.1부터 데이터 에디터에서 CSV 파일의 열을 이동할 수 있으며 변경 사항이 파일 자체에 적용됩니다.
이슈 트래커에서 받은 다양한 요청에 대한 응답으로, UUID를 더 간편하게 작업할 수 있도록 만들었습니다.
binary(16)
, blob(16)
및 유사한 유형으로 표시되는 열을 포함하여 UUID가 있는 모든 열을 편집할 수 있습니다.지난 몇 년간 사용자로부터 세션 개념을 이해하지 못하다가 이 기능이 DataGrip을 배우는 데 큰 도움이 되었다고 하는 수많은 피드백을 받았습니다. 다음은 그 중 몇 가지 예입니다.
프로젝트를 최우선하고 콘솔 세션을 분리하는 모델은 지나치게 번거롭습니다. 이 모델을 사용하면 간단한 SQL 파일을 열고 실행하는 일마저 매우 번잡합니다. 스크립트 하나를 열고 실행하고 싶을 뿐인데도, 우선 프로젝트를 생성한 다음, 프로젝트에 파일을 추가하고, 콘솔을 연 후 세션을 열고, 파일을 세션에 연결해야 합니다. 너무나 힘든 과정이죠.
SQL Server Management Studio(SSMS)에서 DataGrip으로 전환했는데, DataGrip의 UI는 훨씬 더 복잡합니다. SSMS에는 기본적으로 서버, 쿼리 및 결과만 있습니다. DataGrip에는 세션, 콘솔, 스크래치 파일 등이 있어 신규 사용자에게는 도구의 직관성이 훨씬 떨어집니다.
UI 작동 방식 중 일부는 투박하고 명확하지 않습니다. 스크립트를 실행하기 위해 콘솔을 선택해야 할 때 이 작업을 수행해야 하는 이유나 선택에 따른 결과가 무엇인지 전혀 명확하지 않습니다. 이러한 동작이 디폴트 값이면 정말 안 됩니다.
DataGrip에서 '세션'은 연결을 위한 컨테이너를 가리키는 기술 용어입니다. 즉, 한 세션 내에서 연결을 설정하고, 중지하고, 다시 설정할 수 있습니다. 연결당 세션은 하나입니다.
세션을 연결하는 기능은 강력한 메커니즘이지만 대부분의 경우 사용자는 실행할 쿼리에 대한 컨텍스트(데이터 소스, 데이터베이스 또는 스키마)만 설정하면 됩니다.
2024.1 버전부터는 쿼리를 실행할 세션을 수동으로 선택할 필요가 없으며 이는 모든 유형의 쿼리에 적용됩니다. 세션은 여전히 백그라운드에서 진행되지만 사용자가 신경 쓸 필요는 없습니다. 지금부터 이러한 변화가 DataGrip의 주요 사용 사례에 어떤 영향을 미치는지 자세히 살펴보겠습니다.
이제 파일을 연결할 때, 세션이 아닌 데이터 소스를 선택하기만 하면 됩니다. 데이터 소스를 선택한 후 스키마를 선택하세요.
Switch Session(세션 전환) 액션은 이제 Services(서비스) 도구 창에 있는 클라이언트 컨텍스트 메뉴에만 표시됩니다. 따라서 현재 데이터 소스 내에서만 세션을 전환할 수 있습니다.
더 이상 함수를 실행하기 전에 세션을 선택할 필요가 없습니다. Execute Routine(루틴 실행) 창에서 Run from(다음에서 실행) 옵션을 사용하면 함수가 실행될 콘솔이나 파일을 선택할 수 있습니다.
INSERT
문에 대해 일관되게 적용되는 코드 스타일이제 여러 행의 INSERT
문을 서식 지정하여 그 값을 정렬할 수 있습니다. 서식 지정 도구가 각 열에 있는 값의 너비를 분석하여 가장 적합한 너비를 적용합니다.
이 기능을 켜려면 Align multi-row VALUES(다중 행 VALUES 정렬) 옵션을 활성화하세요.
DataGrip은 일부 값이 다른 값보다 훨씬 긴 상황도 처리할 수 있습니다. 서식 지정 도구가 이러한 값을 탐지하고 예외를 생성하여 나머지 필드를 다음 행으로 이동합니다.
이 동작은 다음 3가지 옵션으로 처리됩니다.
GROUP BY
절에 대한 열 완성 기능이제 DataGrip은 SELECT
절에 사용된 집계를 분석하여 GROUP BY
절을 제안할 때 적절한 열 목록을 포함합니다.
WHERE TRUE
절에 대한 경고Unsafe query(안전하지 않은 쿼리) 경고가 확장되었습니다. 이제 WHERE TRUE
조건이나 그 변형 중 하나를 사용하여 쿼리를 실행하면 경고가 표시됩니다. 이 기능은 여러분이 디버그 목적으로 이 절을 즐겨 사용하지만 가끔 변경하는 것을 잊어버린다면 매우 큰 도움이 될 수 있습니다.
코드 완성 제안을 수락하는 데 사용할 심볼을 지정하는 기능이 추가되어 SQL을 더욱 빠르게 작성할 수 있습니다. 이를 작동 시키려면 2가지 옵션을 활성화해야 합니다. 그 중 하나는 다음과 같습니다.
다른 하나는 다음과 같습니다.
이 기능은 연산자를 사용할 때 특히 유용합니다.
대규모 파일 작업을 단순화하기 위해 에디터에 고정된 줄을 도입했습니다. 이 기능을 사용하면 스크롤할 때 CREATE
문과 같은 주요 구조 요소를 에디터 상단에 고정할 수 있습니다. 이렇게 하면 컨텍스트가 항상 표시되고, 고정된 줄을 클릭하여 코드를 즉시 탐색할 수 있습니다.
이 기능은 기본적으로 활성화되어 있습니다. 이 기능은 Settings(설정)/Preferences(환경 설정) | Editor(에디터) | General(일반) | Appearance(모양)의 체크박스를 통해 고정된 줄의 최대 수를 설정하거나 끌 수 있습니다.
DataGrip은 이제 RedisJSON, RediSearch, RedisBloom, RedisTimeSeries라는 4가지 기본 Redis Stack 모듈의 명령어를 지원합니다. 이 지원을 위해서는 새로운 드라이버 1.5 버전도 필요합니다. RedisGraph 모듈은 더 이상 사용되지 않으며 지원 중단됩니다. 이 모듈 지원으로 다음이 가능해집니다.
이제 JSON 문서가 전용 폴더에 표시됩니다. 데이터 뷰어에서 해당 값을 볼 수 있고 JSON 경로를 지정할 수 있습니다.
RedisTimeSeries 및 RedisBloom 모듈에서 제공하는 유형의 키는 data structures
폴더에 표시됩니다.
이제 데이터 카탈로그를 통해 공유되는 외부 데이터베이스가 지원되어 해당 콘텐츠에 내부 검사 및 완성 기능이 적용됩니다.