SQLデータベースのテーブル、カラム、クエリ結果を補完する、型安全なTypeScript用SQLクエリビルダー。
diesel-rs/diesel
PostgreSQL、MySQL、SQLite、MariaDBに対応し、クエリをコンパイル時に検証できる、Rust向けの安全で拡張可能なORM兼クエリビルダーです。
- スター
- 14,212
- フォーク
- 1,252
- 未解決の Issue
- 172
- 最終コミット
- 一昨日
これは何?
DieselはRust向けのORM兼クエリビルダーです。データベースの行をstructにマッピングするための定型コードを減らし、実行時ではなくコンパイル時にエラーを検出することを目指しています。Rustの型システムを使って、通常のRustコードのように読めるSQLクエリを組み立てられます。SELECT、フィルタリング、ソート、JOIN形式のサブクエリ、INSERT、UPDATEを扱えます。
モデルはQueryable、Selectable、Insertableなどのderiveマクロを使ったRustのstructとして宣言でき、Dieselがそこから行のマッピング処理を生成します。クエリビルダーでは対応しきれない場合は、sql_queryを使って生のSQLを記述し、型付きパラメーターをバインドすることもできます。
PostgreSQL、MySQL、SQLite、MariaDBに対応しており、バックエンドはCargoのfeatureフラグで選択します。プロジェクトのWebサイトにはGetting Startedチュートリアルがあり、質問はGitHub Discussionsで受け付けています。
主な機能
- 01Rustの型に基づき、コンパイル時に検証されるクエリ
- 02structの行マッピング処理を生成するderiveマクロ
- 03SELECT、フィルタリング、ソート、サブクエリに対応するクエリビルダー
- 04structを受け取るINSERT/UPDATE APIとRETURNINGのサポート
- 05型付きパラメーターのバインドに対応した生のSQL
ユースケース
- PostgreSQLやMySQLに接続するRust製Webバックエンドの構築
- 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兼クエリビルダーです。データベースの行をstructにマッピングするための定型コードを減らし、実行時ではなくコンパイル時にエラーを検出することを目指しています。Rustの型システムを使って、通常のRustコードのように読めるSQLクエリを組み立てられます。SELECT、フィルタリング、ソート、JOIN形式のサブクエリ、INSERT、UPDATEを扱えます。
- diesel は無料で使えますか?ライセンスは?
- diesel は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- diesel は今もメンテナンスされていますか?
- 活発にメンテナンス中。diesel の最終コミットは 2026年10月20日 です。
- diesel は何に使えますか?
- PostgreSQLやMySQLに接続するRust製Webバックエンドの構築 Rust製CLIやサービス向けの型安全なデータアクセス層の作成 Rust製デスクトップアプリや組み込みアプリケーションでのSQLiteの利用
- diesel のインストール方法は?
- 使用するデータベースバックエンド向けの feature を指定して、Cargo.toml に diesel を追加します diesel.rs の Getting Started チュートリアルに従います
- diesel はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/diesel-rs/diesel
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Node.jsなどのJSプラットフォームで使えるTypeScript/JavaScript向けORM。多くのSQL・NoSQLデータベースに対応し、Active RecordとData Mapperの両パターンをサポートします。
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に対応する、Node.js・TypeScript向けのPromiseベースORM。