- Crate SQL assíncrono (
async) em Rust puro, que usa macros de Rust para permitir validação de queries SQL em tempo de compilação sem DSL
- Não é um ORM!: ideal para projetos que querem usar SQL diretamente sem ORM
- Suporte a bancos de dados como PostgreSQL, MySQL, MariaDB, SQLite
- É possível fazer checagem em tempo de compilação de forma simples definindo
DATABASE_URL no arquivo .env
- Implementação em Rust puro (o driver de MySQL/MariaDB é escrito 100% em Rust; o SQLite integra uma biblioteca C), com projeto seguro e sem uso de código
unsafe, o que aumenta a confiabilidade
- Compatível com os principais runtimes assíncronos de Rust, como Tokio, async-std, actix, além de vários backends TLS, podendo ser usado de forma independente de plataforma
- Licença dupla MIT/Apache 2.0, permitindo amplo uso em projetos open source e comerciais
Principais recursos
- Pooling de conexões com
sqlx::Pool
- Streaming assíncrono de rows a partir do banco de dados
- Preparação automática e cache de queries por conexão
- Execução simples também de queries não preparadas (não
Prepared), com retorno no mesmo tipo de Row
- Suporte a conexão criptografada com TLS nos DBs compatíveis (MySQL, MariaDB, PostgreSQL)
- Suporte a notificações assíncronas do PostgreSQL:
LISTEN e NOTIFY
- Suporte a transações aninhadas com uso de savepoints
- Suporte a
AnyPool, que permite trocar seletivamente o driver de banco em tempo de execução
Ainda não há comentários.