prisma / Quaint
Licence: apache-2.0
SQL Query AST and Visitor for Rust
Stars: ✭ 272
Programming Languages
rust
11053 projects
Projects that are alternatives of or similar to Quaint
Better Sqlite3
The fastest and simplest library for SQLite3 in Node.js.
Stars: ✭ 2,778 (+921.32%)
Mutual labels: sql, sqlite
Cg Sql
CG/SQL is a compiler that converts a SQL Stored Procedure like language into C for SQLite. SQLite has no stored procedures of its own. CG/CQL can also generate other useful artifacts for testing and schema maintenance.
Stars: ✭ 210 (-22.79%)
Mutual labels: sql, sqlite
Termsql
Convert text from a file or from stdin into SQL table and query it instantly. Uses sqlite as backend. The idea is to make SQL into a tool on the command line or in scripts.
Stars: ✭ 230 (-15.44%)
Mutual labels: sql, sqlite
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 2,315 (+751.1%)
Mutual labels: sql, sqlite
Atdatabases
TypeScript clients for databases that prevent SQL Injection
Stars: ✭ 154 (-43.38%)
Mutual labels: sql, sqlite
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+941.18%)
Mutual labels: sql, sqlite
Heidisql
A lightweight client for managing MariaDB, MySQL, SQL Server, PostgreSQL and SQLite, written in Delphi
Stars: ✭ 2,864 (+952.94%)
Mutual labels: sql, sqlite
E Commerce Db
Database schema for e-commerce (webstores) sites.
Stars: ✭ 245 (-9.93%)
Mutual labels: sql, sqlite
Trilogy
TypeScript SQLite layer with support for both native C++ & pure JavaScript drivers.
Stars: ✭ 195 (-28.31%)
Mutual labels: sql, sqlite
Oreilly getting started with sql
Database files for the O'Reilly book "Getting Started with SQL: A hands on approach for beginners" http://goo.gl/z3zG54
Stars: ✭ 156 (-42.65%)
Mutual labels: sql, sqlite
Askgit
Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. 🔍 📊
Stars: ✭ 2,707 (+895.22%)
Mutual labels: sql, sqlite
Oreilly intermediate sql for data
Resources for the O'Reilly Online Training "Intermediate SQL For Data Analysis"
Stars: ✭ 136 (-50%)
Mutual labels: sql, sqlite
Efcore.bulkextensions
Entity Framework Core Bulk Batch Extensions for Insert Update Delete Read (CRUD), Truncate and SaveChanges operations on SQL Server, PostgreSQL, SQLite
Stars: ✭ 2,295 (+743.75%)
Mutual labels: sql, sqlite
Sequelize Auto Migrations
Migration generator && runner for sequelize
Stars: ✭ 233 (-14.34%)
Mutual labels: sql, sqlite
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
Documentation
Feature flags
-
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 inpooled::Quaint
. -
json
: JSON type support withserde_json
crate. -
uuid
: UUID type support withuuid
crate. -
chrono
: DateTime type support withchrono
crate. -
serde-support
: Deserialize support from result set withserde
crate. -
bigdecimal
: Numeric values can be read asBigDecimal
.
Goals:
- 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.
Non-goals:
- Database-level type-safety in query building or being an ORM.
For type-safe database abstraction, Diesel is an excellent choice.
Testing:
- See
.envrc
for connection params. Override variables if different. MySQL, PostgreSQL and SQL Server needs to be running for tests to succeed.
Then:
> cargo test
Query debug
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.
Security
If you have a security issue to report, please contact us at [email protected]
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].