Un generador de consultas SQL para TypeScript con seguridad de tipos, que autocompleta tablas, columnas y tipos de resultados en distintas bases de datos SQL.
diesel-rs/diesel
Un ORM y generador de consultas seguro y extensible para Rust, que valida las consultas en tiempo de compilación con PostgreSQL, MySQL, SQLite y MariaDB.
- Estrellas
- 14,212
- Forks
- 1,252
- Issues abiertos
- 172
- Último commit
- anteayer
¿Qué es?
Diesel es un ORM y generador de consultas para Rust que elimina el código repetitivo necesario para convertir filas de bases de datos en structs y busca detectar errores en tiempo de compilación, en lugar de durante la ejecución. Usa el sistema de tipos de Rust para construir consultas SQL que se leen como código Rust corriente e incluyen operaciones de selección, filtrado, ordenamiento, subconsultas similares a joins, inserciones y actualizaciones.
Los modelos se declaran como structs de Rust con macros derive, como Queryable, Selectable e Insertable, y Diesel genera a partir de ellos la lógica para mapear filas. También se puede escribir SQL directamente con sql_query y enlazar parámetros tipados cuando el generador de consultas no es suficiente.
La biblioteca es compatible con PostgreSQL, MySQL, SQLite y MariaDB; el backend se selecciona mediante flags de features de Cargo. En el sitio web del proyecto hay un tutorial de Getting Started y las consultas se atienden en GitHub Discussions.
Funciones clave
- 01Consultas verificadas en tiempo de compilación a partir de tipos de Rust
- 02Macros derive que generan el mapeo de filas para structs
- 03Generador de consultas para selecciones, filtros, ordenamiento y subconsultas
- 04APIs de inserción y actualización que aceptan structs, con compatibilidad con RETURNING
- 05SQL directo con enlace de parámetros tipados
Casos de uso
- Crear un backend web en Rust que se conecte a PostgreSQL o MySQL
- Escribir capas de acceso a datos con seguridad de tipos para una CLI o un servicio en Rust
- Usar SQLite en una aplicación de escritorio o integrada desarrollada en Rust
Inicio rápido
- 1
Añade diesel a Cargo.toml con la feature correspondiente al backend de tu base de datos
- 2
Sigue el tutorial Getting Started en diesel.rs
Antes de usarlo
- Las guías de funciones más allá de Getting Started siguen indicándose como próximas.
Temas
Preguntas frecuentes
- ¿Qué es diesel?
- Un ORM y generador de consultas seguro y extensible para Rust, que valida las consultas en tiempo de compilación con PostgreSQL, MySQL, SQLite y MariaDB. Diesel es un ORM y generador de consultas para Rust que elimina el código repetitivo necesario para convertir filas de bases de datos en structs y busca detectar errores en tiempo de compilación, en lugar de durante la ejecución. Usa el sistema de tipos de Rust para construir consultas SQL que se leen como código Rust corriente e incluyen operaciones de selección, filtrado, ordenamiento, subconsultas similares a joins, inserciones y actualizaciones.
- ¿diesel es gratuito? ¿Qué licencia tiene?
- diesel es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿diesel sigue mantenido?
- Mantenimiento activo. El último commit de diesel fue el 20 oct 2026.
- ¿Para qué puedo usar diesel?
- Crear un backend web en Rust que se conecte a PostgreSQL o MySQL Escribir capas de acceso a datos con seguridad de tipos para una CLI o un servicio en Rust Usar SQLite en una aplicación de escritorio o integrada desarrollada en Rust
- ¿Cómo se instala diesel?
- Añade diesel a Cargo.toml con la feature correspondiente al backend de tu base de datos Sigue el tutorial Getting Started en diesel.rs
- ¿Dónde consigo diesel?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/diesel-rs/diesel
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
ORM para TypeScript y JavaScript en Node.js y otras plataformas JS, compatible con los patrones Active Record y Data Mapper y con numerosas bases de datos SQL y NoSQL.
ORM de TypeScript para Node.js que ofrece acceso a bases de datos con seguridad de tipos en PostgreSQL, MySQL, SQLite, MongoDB y otras bases de datos.
Kit de herramientas SQL asíncrono y escrito en Rust puro, con consultas SQL normales verificadas en tiempo de compilación y soporte para PostgreSQL, MySQL/MariaDB y SQLite.
Un ORM headless y ligero para TypeScript compatible con PostgreSQL, MySQL y SQLite, que funciona en Node.js, Bun, Deno y entornos edge.
Un ORM basado en promesas para Node.js y TypeScript, compatible con PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle y Db2.