SQL 데이터베이스 전반에서 테이블, 컬럼, 결과 타입을 자동 완성하는 타입 안전한 TypeScript SQL 쿼리 빌더입니다.
diesel-rs/diesel
PostgreSQL, MySQL, SQLite, MariaDB에서 컴파일 시점에 쿼리를 검사하는 안전하고 확장 가능한 Rust ORM 및 쿼리 빌더입니다.
- 스타
- 14,212
- 포크
- 1,252
- 열린 이슈
- 172
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
Diesel은 데이터베이스 행을 구조체에 매핑하는 반복적인 코드를 줄이는 동시에, 런타임이 아닌 컴파일 시점에 오류를 잡는 것을 목표로 하는 Rust ORM 및 쿼리 빌더입니다. Rust의 타입 시스템을 활용해 일반적인 Rust 코드처럼 읽히는 SQL 쿼리를 작성할 수 있으며, select, 필터, 정렬, 조인 형태의 서브쿼리, insert, update를 지원합니다.
모델은 Queryable, Selectable, Insertable 같은 derive 매크로를 사용해 Rust 구조체로 선언하며, Diesel은 이를 바탕으로 행 매핑 로직을 생성합니다. 쿼리 빌더만으로 부족한 경우에는 sql_query로 raw SQL을 작성하고 타입이 지정된 파라미터를 바인딩할 수도 있습니다.
이 라이브러리는 PostgreSQL, MySQL, SQLite, MariaDB를 지원하며, Cargo feature flag로 백엔드를 선택합니다. 프로젝트 웹사이트에서 Getting Started 튜토리얼을 볼 수 있고, 질문은 GitHub Discussions에서 다룹니다.
핵심 기능
- 01Rust 타입으로 구성하는 컴파일 시점 검사 쿼리
- 02구조체의 행 매핑 코드를 생성하는 derive 매크로
- 03select, 필터, 정렬, 서브쿼리를 위한 쿼리 빌더
- 04RETURNING을 지원하며 구조체를 받는 insert 및 update API
- 05타입이 지정된 파라미터 바인딩을 지원하는 raw SQL
활용 사례
- PostgreSQL 또는 MySQL을 사용하는 Rust 웹 백엔드 구축
- Rust CLI 또는 서비스의 타입 안전한 데이터 액세스 계층 작성
- Rust 데스크톱 또는 임베디드 애플리케이션에서 SQLite 사용
빠른 시작
- 1
사용할 데이터베이스 백엔드용 feature를 지정해 Cargo.toml에 diesel을 추가하세요
- 2
diesel.rs의 Getting Started 튜토리얼을 따라 하세요
사용 전 알아둘 점
- Getting Started 이외의 기능 가이드는 아직도 곧 공개될 예정이라고 안내되어 있습니다.
토픽
자주 묻는 질문
- diesel은(는) 무엇인가요?
- PostgreSQL, MySQL, SQLite, MariaDB에서 컴파일 시점에 쿼리를 검사하는 안전하고 확장 가능한 Rust ORM 및 쿼리 빌더입니다. Diesel은 데이터베이스 행을 구조체에 매핑하는 반복적인 코드를 줄이는 동시에, 런타임이 아닌 컴파일 시점에 오류를 잡는 것을 목표로 하는 Rust ORM 및 쿼리 빌더입니다. Rust의 타입 시스템을 활용해 일반적인 Rust 코드처럼 읽히는 SQL 쿼리를 작성할 수 있으며, select, 필터, 정렬, 조인 형태의 서브쿼리, insert, update를 지원합니다.
- diesel은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- diesel은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- diesel은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. diesel의 마지막 커밋은 2026년 10월 20일입니다.
- diesel은(는) 어디에 사용할 수 있나요?
- PostgreSQL 또는 MySQL을 사용하는 Rust 웹 백엔드 구축 Rust CLI 또는 서비스의 타입 안전한 데이터 액세스 계층 작성 Rust 데스크톱 또는 임베디드 애플리케이션에서 SQLite 사용
- diesel는 어떻게 설치하나요?
- 사용할 데이터베이스 백엔드용 feature를 지정해 Cargo.toml에 diesel을 추가하세요 diesel.rs의 Getting Started 튜토리얼을 따라 하세요
- diesel은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/diesel-rs/diesel
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
다양한 SQL 및 NoSQL 데이터베이스를 지원하고 Active Record와 Data Mapper 패턴을 모두 사용할 수 있는 Node.js 및 기타 JS 플랫폼용 TypeScript·JavaScript ORM입니다.
PostgreSQL, MySQL, SQLite, MongoDB 등 다양한 데이터베이스에 타입 안전한 접근을 제공하는 Node.js용 TypeScript ORM입니다.
일반 SQL로 작성한 쿼리를 컴파일 시점에 검사하는 순수 Rust 비동기 SQL 툴킷으로, PostgreSQL, MySQL/MariaDB, SQLite를 지원합니다.
Node.js, Bun, Deno 및 엣지 런타임에서 사용할 수 있는 PostgreSQL, MySQL, SQLite용 경량 헤드리스 TypeScript ORM입니다.
PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle, Db2를 지원하는 promise 기반 Node.js 및 TypeScript ORM입니다.