- Crate SQL puro basado en Rust con enfoque asíncrono (
async), que permite validar consultas SQL en tiempo de compilación sin DSL usando macros de Rust
- ¡No es un ORM!: ideal para proyectos que quieren usar SQL tal cual, sin ORM
- Soporta bases de datos como PostgreSQL, MySQL, MariaDB, SQLite
- Puedes definir
DATABASE_URL en el archivo .env para hacer verificaciones fácilmente en tiempo de compilación
- Implementación Pure Rust (el driver de MySQL/MariaDB está escrito 100% en Rust; SQLite se integra con una librería en C), diseñada de forma segura sin usar código
unsafe, lo que le da alta confiabilidad
- Compatible con los principales runtimes asíncronos de Rust como Tokio, async-std, actix, así como con varios backends TLS, y puede usarse de forma independiente de la plataforma
- Licencia dual MIT/Apache 2.0, por lo que puede aprovecharse ampliamente en proyectos de código abierto y comerciales
Funciones principales
- Connection pooling con
sqlx::Pool
- Streaming asíncrono de rows desde la base de datos
- Preparación y caché automática de consultas por conexión
- También permite ejecutar fácilmente consultas no preparadas (no
Prepared), devolviendo los resultados en el mismo tipo de row
- Soporte para conexiones cifradas con TLS en las BD compatibles (MySQL, MariaDB, PostgreSQL)
- Soporte para notificaciones asíncronas de PostgreSQL:
LISTEN y NOTIFY
- Soporte para transacciones anidadas usando savepoints
- Soporte para
AnyPool, que permite cambiar el driver de base de datos de forma selectiva en tiempo de ejecución
Aún no hay comentarios.