Rider

JetBrains Rider에서의 데이터베이스 작업 수행

당사의 모든 IDE는 동일한 코어 IntelliJ IDEA Community Edition에 기반하여 제작되었습니다. 즉, 하나의 IDE를 개선하면 보통 다른 IDE도 이 개선의 혜택을 받습니다. Rider도 예외가 아닙니다! 저는 최근에 당사의 훌륭한 데이터베이스 관리 도구인 DataGrip을 다루었는데, Rider와 많은 기능이 같다는 것만 기억납니다.

기본 개요

Rider를 시작하면 데이터베이스 탭이 개발 환경의 모서리에 있음을 확인하실 수 있을겁니다. 이 탭이 표시되지 않으면 View | Tool Windows | Database 메뉴를 사용해 표시할 수 있습니다. 데이터베이스 탭(또는 Rider의 다른 기능)을 여는 세 번째 옵션은 Go to Action 또는 Search Everywhere(Shift 두 번 누르기)를 사용해 Database를 검색하는 것입니다.

이 도구 창은 데이터베이스에 대한 입구로 여기서 다양한 데이터베이스 관리 작업을 수행할 수 있습니다.

새로운 데이터베이스 서버 추가하기

저희는 다양한 데이터베이스 엔진을 지원하기 위하여 많은 작업을 수행하였습니다. 즉시 인식 가능한 데이터베이스 엔진으로는 Microsoft SQL Server, PostgreSQL, MariaDB, SQLite가 있습니다. 데이터베이스 연결을 추가해 보겠습니다.

첫 번째 단계는 상단 탐색 표시줄에서 + 버튼을 클릭하고, Data Source 에 마우스를 올린다음, 원하는 데이터베이스 엔진을 선택하는 것입니다. 아래는 Microsoft SQL Server를 추가하는 것에 대한 예시입니다.

새로운 데이터베이스 서버 연결 추가하기

Data Sources and Drivers 창에서 호스트, 포트, 사용자, 비밀번호, 기본 데이터베이스 등 일반적인 연결 설정을 입력할 수 있습니다. Rider가 데이터베이스 엔진용 드라이버를 다운로드하도록 요청을 할 것임을 유의해주세요.

모달 하단 근처에 있는 Test Connection을 클릭하여 연결 설정을 테스트할 수 있습니다. 연결에 성공한 경우 녹색 체크 표시로 시작되는 SQL 서버 버전이 표시됩니다.

이제 정말로 재미있는 일이 시작됩니다! 다음 섹션에서는 Rider의 기능을 활용하여 데이터베이스 기반 애플리케이션을 더욱 효율적으로 개발하는 방법에 대해 살펴보겠습니다.

새로운 데이터베이스 생성하기

연결이 제대로 작동하면 새로운 데이터베이스를 생성할 수 있습니다. Database 탭에서 새로운 연결의 컨텍스트 메뉴를 사용하거나 New | Database를 선택하세요.

SQL 스크립트가 미리 로드된 모달이 표시된 것을 확인하실 수 있습니다. 원하는 대로 이름을 변경한 후 Execute 버튼을 클릭합니다. 스크린샷에서는 데이터베이스의 이름을

test

라고 하였습니다.

새로운 데이터베이스 추가하기

기존의 데이터베이스는 어떻게 하냐고요? 다음 주제에서 이야기하겠습니다!

기존 데이터베이스 추가하기

서버에 이미 데이터베이스 인스턴스가 있는 경우 연결 옆에 회색으로 표시된 숫자를 클릭하여 볼 수 있는 데이터베이스 목록에 추가할 수 있습니다.

기존 데이터베이스 추가하기

모든 데이터베이스를 표시하거나 특정 데이터베이스만 표시할 수 있습니다. 표시 여부를 전환하는 기능은 데이터베이스 스키마를 표시하거나 숨길 수 있는 데이터베이스에서도 작동합니다.

데이터베이스를 사용해 작업하기

이전 섹션에서는 SQL 서버 인스턴스에 연결하여

test

라는 새로운 데이터베이스를 생성했습니다. Rider는 컨텍스트 메뉴와 액션을 통해 사용할 수 있는 SQL 작업을 많이 보유하고 있습니다. 이 섹션에셔는 UI 도구를 사용하여

Persons

테이블을 생성하고 데이터베이스에 일부 데이터를 삽입해 보겠습니다.

먼저 선택된 데이터베이스 스키마가 있는지 확인한 후

dbo

스키마에서 테이블을 생성합니다.

데이터베이스에서 새로운 테이블 생성하기

테이블 뷰를 사용해 테이블에 일부 데이터를 삽입해 보겠습니다. 새로 생성된

Persons

테이블을 두 번 클릭하여 테이블 뷰를 표시합니다. 그런 다음, + 도구 모음 버튼을 클릭하여 새로운 행을 삽입합니다. 마지막으로 데이터베이스에 트랜잭션을 커밋합니다.

테이블 뷰를 사용하여 새로운 행 삽입하기

SQL을 작성하는 동안 Rider의 콘솔에 데이터 소스, 스키마, 테이블 및 새 테이블의 첫 번째 행이 포함된 유용한 대화 상자가 표시됩니다. Alt+Enter 또는 Cmd+Enter를 전환할 때 Rider가 어떤 스크립트를 실행할지에 대해 물어봅니다. 콘솔에 한 개 이상의 SQL 문이 있을 경우 키보드의 위/아래 화살표를 사용해 각 문을 차례로 선택할 수 있습니다.

SQL 콘솔 도움말 대화 상자

멋진 콘솔 에디터입니다. 코드 베이스에서 Rider를 어떻게 활용할 수 있는지 살펴보겠습니다.

.NET 앱에서 데이터베이스를 사용해 작업하기

Entity Framework 같은 입증된 ORM이나 Dapper 같은 마이크로-ORM을 사용하든, 원시 ADO.NET을 사용하든, Rider는 코드를 이해합니다. 이를 통해 어떤 데이터베이스 프로젝트에든 엄청난 가치를 더할 수 있습니다.

ADO.NET부터 시작하여 Rider가 문자열 리터럴 안의 SQL 문을 어떻게 식별할 수 있는지에 대해 살펴보겠습니다. 계속 진행하기 전에 데이터 소스에 지정된 데이터베이스 이름이 있는지 확인하세요.

static async Task Main()
{
   await using var connection = new SqlConnection(ConnectionString);
   var command = connection.CreateCommand();
  
   command.CommandText = "select * from Persons";
   command.ExecuteReaderAsync();
}

SQL 문으로서 자격을 갖춘 즉시, 문자열 리터럴에서 구문 강조 표시를 확인할 수 있습니다. 맞아요! 문자열 안에서 SQL 코드가 완성되었어요!

C#에서의 SQL 구문 강조 표시

SQL 문자열 리터럴에서 Alt+Enter를 사용하면 이용 가능한 컨텍스트 액션을 확인할 수 있습니다. 복사/붙여넣기 없이 쿼리를 실행하려면 Run in Console 액션을 사용하면 됩니다. 그런 다음, 세션을 선택하고 기존 콘솔에 첨부하거나 새로운 콘솔을 시작할 수 있습니다. 새로운 콘솔을 시작해 보겠습니다.

콘솔에서 C# SQL 실행하기

SQL이 잘못된 경우 Rider는 문제 해결 방법에 대한 힌트도 제공합니다.

C#에서의 SQL 오류

Dapper 사용자라면 동일한 경험이 적용됩니다. Rider는 문자열 리터럴을 살펴보고, 문자열에 SQL이 포함되어 있는지 판단합니다.

또한, Rider는 SQL 문을 작성하는 능력을 크게 향상시킵니다. Rider는 데이터 소스에 연결되어 있으므로, 스키마도 이해합니다. 이를 통해 강력한 코드 완성을 제공하고, 스키마 내의 위치로 직접 빠르게 이동할 수 있습니다.

C#에서의 SQL 자동 완성

결론

이 게시글에서는 Rider가 SQL 및 .NET 작업 흐름을 위해 할 수 있는 것의 극히 일부만 다뤘습니다. 하나의 도구 안에서 모든 데이터베이스 관리 수요를 충족시킬 수 있습니다. Rider를 사용하면 한 개 또는 여러 개의 데이터 소스에 대하여 코드에서 직접 SQL 문을 작성, 검사 및 실행할 수 있습니다. Rider는 선택한 데이터 액세스 기술과 상관 없이 도움을 줄 수 있습니다.

Rider 2020.1 EAP를 다운로드하여 직접 사용해 보세요! 읽어 주셔서 감사합니다!

JetBrains Rider에서의 데이터베이스 작업 수행게시글은 .NET 도구 블로그에서 처음 게시되었습니다.

이 포스트는 Khalid AbuhakmehWorking With Databases In JetBrains Rider를 번역한 글입니다.

Discover more