테이블이 서른 개인 SQLite 데이터베이스에 대해 SELECT 쿼리를 작성하고 있습니다. 테이블 이름이 user_sessions나 session_logs 비슷한 것이었다고 기억하지만 — 정확히 어느 것일까요? 그리고 타임스탬프 열은 created_at, timestamp, date_created 중 무엇일까요? sqlite3 CLI에서는 .schema 모드로 전환해서 테이블을 찾아보고, 다시 쿼리 작성으로 돌아가고, 열을 참조할 때마다 이를 반복해야 합니다. 이 컨텍스트 전환이 쿼리 작성 시간의 대부분을 실제로 잡아먹는 부분입니다.
자동완성이 없을 때의 비용
sqlite3 CLI에는 테이블이나 열 이름에 대한 자동완성이 없습니다. 기억에 의존해 입력하고, 뭔가 잘못 입력하면 입력 중이 아니라 실행 후에 오류를 받습니다. 테이블이 몇 개 없는 단순한 데이터베이스라면 감당할 만합니다. 수십 개의 테이블과 수백 개의 열이 있는 데이터베이스라면 생산성에 지속적인 부담이 됩니다.
일부 개발자는 테이블 스키마를 메모 파일에 복사해두고 쿼리를 작성하면서 참조합니다. 다른 사람들은 .tables와 PRAGMA table_info(tablename);을 반복해서 실행합니다. 두 방식 모두 빠진 기능을 위한 우회책일 뿐입니다 — 쿼리 편집기가 스키마를 알고 올바른 SQL을 작성하도록 도와줘야 합니다.
DataGrip 같은 완전한 데이터베이스 IDE는 훌륭한 자동완성을 제공하지만 비싸고, 무겁고, 엔터프라이즈 워크플로우를 위해 설계되었습니다. 로컬 SQLite 파일 하나를 위해 테이블 이름 제안을 받으려고 구독 기반 IDE가 필요하지는 않아야 합니다.
Tome의 자동완성 쿼리 편집기
Tome에는 데이터베이스 스키마를 아는 SQL 쿼리 편집기가 포함되어 있습니다. 테이블 이름을 입력하기 시작하면 일치하는 항목을 제안합니다. 테이블을 참조하면 열 이름이 완성 후보로 나타납니다. 완전한 IDE는 아니지만 — 복잡함을 더하지 않으면서 SQLite 쿼리 작성을 빠르게 만드는 딱 그만큼의 도움을 줍니다.
스키마 인식 제안
Tome은 파일을 열 때 데이터베이스 스키마를 읽습니다. 테이블 이름, 열 이름, SQLite 키워드가 모두 입력하는 동안 제안으로 나타납니다. 열 이름을 외우거나 쿼리 도중 스키마 브라우저로 전환할 필요가 없습니다.
구문 강조
SQL 키워드, 문자열 리터럴, 숫자, 식별자가 색상으로 구분됩니다. 오류 메시지를 읽은 후가 아니라 쿼리를 실행하기 전에 빠진 따옴표나 잘못된 키워드를 발견하세요.
네이티브 그리드에 표시되는 결과
쿼리 결과는 네이티브 macOS 테이블 뷰에 즉시 나타납니다. 열을 정렬하고, 크기를 조절하고, 대용량 결과 세트를 부드럽게 스크롤하세요. 결과를 복사하거나 특정 셀을 선택하세요 — 그리드는 웹 뷰에 렌더링된 HTML 테이블이 아니라 제대로 된 Mac 데이터 뷰처럼 동작합니다.