프로젝트 소개

sqlit는 Python과 Textual로 구축된 SQL 데이터베이스 작업용 사용자 친화적인 터미널 UI(TUI)입니다. "SQL 데이터베이스의 lazygit"으로 자리매김하며, `sqlit`을 실행하고 UI에서 연결을 선택하면 CLI 구성이나 외부 문서 없이 쿼리를 시작할 수 있습니다. 지원되는 데이터베이스로는 SQL Server, PostgreSQL, MySQL, MariaDB, SQLite, FirebirdSQL, Oracle, DuckDB, CockroachDB, ClickHouse, Snowflake, Databricks, Supabase, Cloudflare D1, Turso, Athena, BigQuery, Spanner, Redshift, IBM Db2, SAP HANA, Teradata, Exasol, Trino, Presto, Apache Flight SQL, Apache Impala, SurrealDB 및 osquery가 있습니다. 이러한 데이터베이스 중 다수의 드라이버는 선택 사항이며 요청 시 설치할 수 있습니다. sqlit는 누락된 드라이버를 감지하고 적절한 설치 명령을 표시합니다. README에 설명된 주요 기능은 다음과 같습니다. - 연결 관리자: 연결 저장, 나열, 삭제 및 전환; URL 스킴 또는 공급자별 CLI 플래그를 통한 연결; 저장하지 않는 임시 연결. - Docker 발견: 실행 중인 데이터베이스 컨테이너를 자동으로 감지하고 Enter 키로 연결합니다. - 클라우드 CLI 통합: Azure, AWS 및 GCP CLI를 통해 외부 데이터베이스를 탐색하고 연결합니다. - SSH 터널: 비밀번호 또는 키 인증으로 원격 데이터베이스에 연결합니다(`ssh` 추가 기능 필요). - 자격 증명 처리: 연결 세부 정보는 `connections.json`에 저장되고, 비밀번호는 가능한 경우 OS 키링에 저장됩니다. 비밀번호는 `--password-command`를 통해 비밀 관리자에서 가져올 수도 있습니다. - 쿼리 편집기: 구문 강조, 연결별 검색 가능한 기록, Vim 스타일 모달 편집 및 모션, 테이블, 열 및 프로시저용 SQL 자동 완성 엔진. - 결과: 대용량 결과 집합 로드, 셀 검사, 내용 및 퍼지 검색으로 필터링, 셀, 행 또는 전체 행 복사. - 탐색기: 테이블, 뷰, 프로시저, 인덱스, 트리거 및 시퀀스 탐색. - CLI 모드: CSV 또는 JSON 출력으로 명령줄에서 쿼리를 실행하거나 SQL 스크립트 파일에서 실행합니다. - 테마: Rose Pine, Tokyo Night, Nord 및 Gruvbox. - 구성 디렉토리(`$XDG_CONFIG_HOME/sqlit/`, `SQLIT_CONFIG_DIR`로 재정의 가능)의 `keymap.json`을 통한 사용자 지정 키 바인딩. 나열된 설치 옵션은 pipx(권장), uv, pip, Arch Linux AUR 및 Nix flake입니다. `--mock=sqlite-demo` 플래그를 사용하면 실제 데이터베이스 없이 인터페이스를 탐색할 수 있습니다. README는 SSMS와 같은 무거운 GUI 클라이언트를 피하거나 SQL을 실행하기 위해 전체 IDE를 시작하는 대신, 빠르게 익힐 수 있는 가볍고 키보드 중심의 도구를 목표로 하는 동기를 설명합니다. lazygit과 lazysql을 영감으로 인용하며, sqlit는 다른 SQL TUI의 기능 범위를 맞추기보다 제한된 작업 집합을 잘 수행하는 데 의도적으로 초점을 맞춘다고 언급합니다. 이 프로젝트는 MIT 라이선스입니다.