quaint
database-js
Our great sponsors
quaint | database-js | |
---|---|---|
4 | 4 | |
586 | 1,157 | |
- | 0.5% | |
6.9 | 7.7 | |
about 1 year ago | 21 days ago | |
Rust | TypeScript | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
quaint
-
Postgres over WebSocket
That is only used in tests :) The query engine uses this: https://github.com/prisma/quaint/blob/6532d69b5aec007ad06ac6...
(I work at Prisma, could have mentioned that earlier)
-
Maintenance of popular ORMs (explanation inside)
Just a quick note about this point: We do use the standard Rust drivers for the DBs we support (e.g. tokio-postgres or the official MongoDB driver for Rust) and don't write/maintain our own drivers, you can see this from our Cargo.toml.
-
MSSQL and Rust
I'm using https://github.com/prisma/quaint/ with mssql. As far as I understand, it wasn't released to crates.io for two year only because of some dependencies issues with postgres (https://github.com/prisma/quaint/issues/264)
- Is there any alternative to Diesel that supports switching between DBMS?
database-js
- What practices do you recommend for a startup using Next.js, fullstack with tRPC vs seperate backend with express?
-
Postgres over WebSocket
That I understand.
But of course for the user of the driver it might be fine if that is 2 or more HTTP requests. I expect that is how PlanetScale does it in their transaction implementation, https://github.com/planetscale/database-js#transactions, and I know that is how Prisma Data Proxy handles it - the transaction is identified with an ID which is returned to the Client and then included in further requests for the same transaction.
It's valid tradeoff to make to prefer a persistent connection to keep the overhead for multiple queries in a transaction as low as possible - which seems what Neon has done here.
-
Typesafe Database Queries on the Edge
The PlanetScale team recently released their database driver which lets your query your PlanetScale database using the Fetch API. This means you can use this library to query your database in edge environments which is HUGE.
-
The PlanetScale serverless driver for JavaScript
> what happens if the company goes down?
It's open-source. What's your concern now?
https://github.com/planetscale/database-js
What are some alternatives?
diesel - A safe, extensible ORM and Query Builder for Rust
Knex - A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
awesome-rust - A curated list of Rust code and resources.
Lowdb - Simple and fast JSON database
rustorm - an orm for rust
puresql - ES6/7 ready SQL library for node.js inspired by Clojure's yesql
rsfbclient - Rust Firebird Client
NeDB - The JavaScript Database, for Node.js, nw.js, electron and the browser
barrel - 🛢 A database schema migration builder for Rust
hugo-extended - ✏️ Plug-and-play Node.js wrapper for Hugo Extended, the awesomest static-site generator.
rusqlite - Ergonomic bindings to SQLite for Rust
pg-mem - An in memory postgres DB instance for your unit tests