|0.1.2||Apr 26, 2023|
|0.1.1||Mar 12, 2023|
|0.1.0||Mar 11, 2023|
#687 in Database interfaces
64 downloads per month
Used in teo
This project is a fork of Prisma's quaint.
Quaint is an abstraction over certain SQL databases. It provides:
- An AST for building dynamic SQL queries.
- Visitors for different databases to generate SQL strings.
- Connectors to abstract over results and querying.
- Pooling with mobc
- Async/await and Futures 0.3
mysql: Support for MySQL databases.
postgresql: Support for PostgreSQL databases.
sqlite: Support for SQLite databases.
mssql: Support for Microsoft SQL Server databases.
pooled: A connection pool in
json: JSON type support with
uuid: UUID type support with
chrono: DateTime type support with
serde-support: Deserialize support from result set with
bigdecimal: Numeric values can be read as
vendored-openssl: Statically links against a vendored OpenSSL library on non-Windows or non-Apple platforms.
fmt-sql: Enables logging SQL queries formatted. The
FMT_SQLenv var must be present for the formatting to be enabled.
- Query generation when the database and conditions are not known beforehand.
- Parameterized queries and SQL injection protection.
- A modular design, a separate AST and separate visitors and connectors.
- Database-level type-safety in query building or being an ORM.
For type-safe database abstraction, Diesel is an excellent choice.
.envrcfor connection params. Override variables if different. MySQL, PostgreSQL and SQL Server needs to be running for tests to succeed.
> cargo test
The queries can be logged by setting the
LOG_QUERIES environment variable to any
value. They'll be logged at the
INFO level and are visible when having a
logger in scope.
FMT_SQL environment variable can be used to log formatted SQL queries. Beware, the
fmt-sql feature must be enabled too.
If you have a security issue to report, please contact us at email@example.com