Um construtor de consultas SQL para TypeScript com segurança de tipos e autocomplete para tabelas, colunas e tipos de resultado em vários bancos de dados SQL.
diesel-rs/diesel
ORM seguro e extensível e query builder para Rust, com verificação de consultas em tempo de compilação para PostgreSQL, MySQL, SQLite e MariaDB.
- Estrelas
- 14,212
- Forks
- 1,252
- Issues abertas
- 172
- Último commit
- anteontem
O que é?
Diesel é um ORM e query builder para Rust que elimina o código repetitivo necessário para mapear linhas do banco de dados para structs, buscando detectar erros em tempo de compilação, em vez de em tempo de execução. Ele usa o sistema de tipos do Rust para criar consultas SQL que se parecem com código Rust comum, incluindo selects, filtros, ordenação, subconsultas no estilo de joins, inserts e updates.
Os modelos são declarados como structs Rust com derive macros, como Queryable, Selectable e Insertable, e o Diesel gera a lógica de mapeamento de linhas a partir deles. Também é possível escrever SQL puro com sql_query e associar parâmetros tipados quando o query builder não é suficiente.
A biblioteca oferece suporte a PostgreSQL, MySQL, SQLite e MariaDB, com o backend selecionado por meio de feature flags do Cargo. Há um tutorial Getting Started no site do projeto, e as dúvidas são respondidas no GitHub Discussions.
Recursos principais
- 01Consultas verificadas em tempo de compilação e criadas a partir de tipos Rust
- 02Derive macros que geram o mapeamento de linhas para structs
- 03Query builder para selects, filtros, ordenação e subconsultas
- 04APIs de insert e update que aceitam structs, com suporte a RETURNING
- 05SQL puro com associação de parâmetros tipados
Casos de uso
- Criar um backend web em Rust que se conecte a PostgreSQL ou MySQL
- Desenvolver camadas de acesso a dados com segurança de tipos para um CLI ou serviço em Rust
- Usar SQLite em um aplicativo desktop ou embarcado em Rust
Início rápido
- 1
Adicione diesel ao Cargo.toml com a feature do backend do seu banco de dados
- 2
Siga o tutorial Getting Started em diesel.rs
Antes de usar
- As guias de recursos além de Getting Started ainda são indicadas como disponíveis em breve.
Tópicos
Perguntas frequentes
- O que é diesel?
- ORM seguro e extensível e query builder para Rust, com verificação de consultas em tempo de compilação para PostgreSQL, MySQL, SQLite e MariaDB. Diesel é um ORM e query builder para Rust que elimina o código repetitivo necessário para mapear linhas do banco de dados para structs, buscando detectar erros em tempo de compilação, em vez de em tempo de execução. Ele usa o sistema de tipos do Rust para criar consultas SQL que se parecem com código Rust comum, incluindo selects, filtros, ordenação, subconsultas no estilo de joins, inserts e updates.
- diesel é gratuito? Qual é a licença?
- diesel é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- diesel ainda é mantido?
- Manutenção ativa. O último commit de diesel foi em 20 de out. de 2026.
- Para que posso usar diesel?
- Criar um backend web em Rust que se conecte a PostgreSQL ou MySQL Desenvolver camadas de acesso a dados com segurança de tipos para um CLI ou serviço em Rust Usar SQLite em um aplicativo desktop ou embarcado em Rust
- Como instalar diesel?
- Adicione diesel ao Cargo.toml com a feature do backend do seu banco de dados Siga o tutorial Getting Started em diesel.rs
- Onde consigo diesel?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/diesel-rs/diesel
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
ORM para TypeScript e JavaScript no Node.js e em outras plataformas JS, compatível com os padrões Active Record e Data Mapper e diversos bancos SQL e NoSQL.
ORM para Node.js e TypeScript que oferece acesso type-safe a bancos de dados como PostgreSQL, MySQL, SQLite e MongoDB.
Toolkit SQL assíncrono e escrito inteiramente em Rust, com consultas SQL comuns verificadas em tempo de compilação e suporte a PostgreSQL, MySQL/MariaDB e SQLite.
ORM headless e leve para TypeScript, compatível com PostgreSQL, MySQL e SQLite em Node.js, Bun, Deno e runtimes edge.
ORM baseado em promises para Node.js e TypeScript, compatível com PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle e Db2.