- Ein asynchrones SQL-Crate auf Basis von reinem Rust, das mit Rust-Makros SQL-Abfragen ohne DSL zur Compile-Zeit validieren kann
- Kein ORM! : Optimal für Projekte, die SQL ohne ORM direkt nutzen möchten
- Unterstützung für Datenbanken wie PostgreSQL, MySQL, MariaDB, SQLite
- Durch Angabe von
DATABASE_URL in der .env-Datei ist eine einfache Prüfung zur Compile-Zeit möglich
- Pure-Rust-Implementierung (der MySQL-/MariaDB-Treiber ist zu 100 % in Rust geschrieben, SQLite bindet eine C-Bibliothek an), sicher entworfen ohne Verwendung von
unsafe-Code, was die Zuverlässigkeit erhöht
- Kompatibel mit wichtigen asynchronen Rust-Runtimes wie Tokio, async-std, actix sowie verschiedenen TLS-Backends und plattformunabhängig einsetzbar
- MIT/Apache-2.0-Doppellizenz, daher breit nutzbar für Open-Source- und kommerzielle Projekte
Hauptfunktionen
- Connection Pooling mit
sqlx::Pool
- Asynchrones Row-Streaming von Daten aus der Datenbank
- Automatische Query-Vorbereitung und Caching pro Connection
- Auch nicht vorbereitete (nicht Prepared) Queries lassen sich einfach ausführen; die Ergebnisse werden als derselbe Row-Typ zurückgegeben
- TLS-verschlüsselte Verbindungen für unterstützte DBs (MySQL, MariaDB, PostgreSQL)
- Unterstützung für asynchrone PostgreSQL-Benachrichtigungen:
LISTEN und NOTIFY
- Unterstützung für verschachtelte Transaktionen mit Savepoints
- Unterstützung für
AnyPool, mit dem sich DB-Treiber zur Laufzeit selektiv austauschen lassen
Noch keine Kommentare.