Repolode
diesel-rs

diesel-rs/diesel

Безопасный и расширяемый ORM и конструктор запросов для Rust с проверкой запросов во время компиляции для PostgreSQL, MySQL, SQLite и MariaDB.

Звёзды
14,212
Форки
1,252
Открытые issues
172
Последний коммит
позавчера

Что это?

Diesel — это ORM и конструктор запросов для Rust, который избавляет от повторяющегося кода для преобразования строк базы данных в структуры и помогает выявлять ошибки во время компиляции, а не во время выполнения. С помощью системы типов Rust библиотека позволяет собирать SQL-запросы, похожие на обычный код на Rust: выборки, фильтрацию, сортировку, подзапросы с JOIN, вставку и обновление данных.

Модели объявляются как структуры Rust с derive-макросами, например Queryable, Selectable и Insertable, а Diesel генерирует код для сопоставления строк с полями структур. Если возможностей конструктора запросов недостаточно, разработчики могут писать обычный SQL с помощью sql_query и передавать типизированные параметры.

Библиотека поддерживает PostgreSQL, MySQL, SQLite и MariaDB; нужный бэкенд выбирается через feature flags Cargo. На сайте проекта есть руководство Getting Started, а вопросы можно задавать в GitHub Discussions.

Ключевые возможности

  • 01Проверка запросов во время компиляции на основе типов Rust
  • 02Derive-макросы для генерации кода сопоставления строк со структурами
  • 03Конструктор запросов для выборок, фильтрации, сортировки и подзапросов
  • 04API для вставки и обновления данных с передачей структур и поддержкой RETURNING
  • 05Обычный SQL с привязкой типизированных параметров

Сценарии использования

  • Создание веб-бэкенда на Rust, работающего с PostgreSQL или MySQL
  • Разработка типобезопасного слоя доступа к данным для CLI-приложения или сервиса на Rust
  • Использование SQLite в настольном или встраиваемом приложении на Rust

Быстрый старт

  1. 1

    Добавьте diesel в Cargo.toml, указав feature для используемого бэкенда базы данных

  2. 2

    Следуйте руководству Getting Started на diesel.rs

Что важно знать

  • Для руководств по функциям помимо Getting Started по-прежнему указано, что они скоро появятся.

Темы

Частые вопросы

Что такое diesel?
Безопасный и расширяемый ORM и конструктор запросов для Rust с проверкой запросов во время компиляции для PostgreSQL, MySQL, SQLite и MariaDB. Diesel — это ORM и конструктор запросов для Rust, который избавляет от повторяющегося кода для преобразования строк базы данных в структуры и помогает выявлять ошибки во время компиляции, а не во время выполнения. С помощью системы типов Rust библиотека позволяет собирать SQL-запросы, похожие на обычный код на Rust: выборки, фильтрацию, сортировку, подзапросы с JOIN, вставку и обновление данных.
diesel можно использовать бесплатно? Какая у него лицензия?
diesel распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
diesel всё ещё поддерживается?
Активно поддерживается. Последний коммит в diesel — 20 окт. 2026 г..
Для чего можно использовать diesel?
Создание веб-бэкенда на Rust, работающего с PostgreSQL или MySQL Разработка типобезопасного слоя доступа к данным для CLI-приложения или сервиса на Rust Использование SQLite в настольном или встраиваемом приложении на Rust
Как установить diesel?
Добавьте diesel в Cargo.toml, указав feature для используемого бэкенда базы данных Следуйте руководству Getting Started на diesel.rs
Где скачать diesel?
Исходный код и инструкции по установке — на GitHub: https://github.com/diesel-rs/diesel

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты