- Crate SQL asynchrone (
async) en pur Rust, qui permet, via les macros Rust, de valider les requêtes SQL à la compilation sans DSL
- Ce n'est pas un ORM ! : idéal pour les projets qui veulent utiliser SQL tel quel sans ORM
- Prise en charge de bases de données comme PostgreSQL, MySQL, MariaDB, SQLite
- Il suffit de définir
DATABASE_URL dans le fichier .env pour effectuer facilement une vérification à la compilation
- Implémentation Pure Rust (le pilote MySQL/MariaDB est écrit à 100 % en Rust ; SQLite s'appuie sur une bibliothèque C), conçue de manière sûre sans utiliser de code
unsafe, ce qui renforce sa fiabilité
- Compatible avec les principaux runtimes asynchrones Rust comme Tokio, async-std, actix, ainsi qu'avec divers backends TLS, et peut être utilisé de façon indépendante de la plateforme
- Sous double licence MIT/Apache 2.0, utilisable largement dans des projets open source comme commerciaux
Fonctionnalités principales
- Pooling de connexions avec
sqlx::Pool
- Streaming asynchrone de lignes depuis la base de données
- Préparation et mise en cache automatiques des requêtes pour chaque connexion
- Exécution simple de requêtes non préparées (non-Prepared), avec un résultat renvoyé sous le même type de ligne
- Prise en charge des connexions chiffrées TLS pour les bases prises en charge (MySQL, MariaDB, PostgreSQL)
- Prise en charge des notifications PostgreSQL asynchrones :
LISTEN et NOTIFY
- Prise en charge des transactions imbriquées à l'aide de savepoints
- Prise en charge de
AnyPool, qui permet de remplacer le pilote de base de données de manière sélective à l'exécution
Aucun commentaire pour le moment.