better-sqlite3
Our great sponsors
better-sqlite3 | bazel-postgres-sketch | |
---|---|---|
28 | 2 | |
5,015 | 3 | |
3.0% | - | |
8.0 | 0.0 | |
11 days ago | over 2 years ago | |
C++ | Shell | |
MIT License | MIT License |
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.
better-sqlite3
- From Frontend to Backend
- Convince me to use better-sqlite3
-
Build A Full-Stack Typescript Application with Nuxt and tRPC
In the second video of the series, we are separating routers and adding SQLite, Better SQLite 3, Database to the application to show access to context for performing a simple query and mutation.
-
How practicle is it to have a textfile based database with an SQLite API?
If I were charged with this task I'd probably take an actual SQLite DB and write methods to parse data from text files, then process it within SQLite, and serialize it back to the text file when an API method is called or after each processing step. A fresh DB engine, fully re-implemented to match SQLite's API is insane unless you're a prodigy or have a sizable team and will come with numerous downsides. I can recommend https://github.com/WiseLibs/better-sqlite3 and https://github.com/loveencounterflow/dbay
- VS Code as a dependency for an NPM module
-
Show HN: Doculite – Use SQLite Like Firestore
better-sqlite3 is orders of magnitude faster than the async SQLite bindings. We found this to be true when testing SQLite options for Notion's desktop app anyways.
https://github.com/WiseLibs/better-sqlite3#why-should-i-use-...
-
Drizzle ORM, SQLite and Nuxt JS - Getting Started
Better SQLite is a wrapper around the SQLite database engine that provides a number of improvements over the standard SQLite API. One of those benefits is type safety, Better SQLite uses TypeScript to provide type safety for queries, which can help to prevent errors.
-
Node - code structure when "being synchronous" is the outlier
better-sqlite3 does the job synchronously
-
SvelteKit 1.0 with SQLite Tutorial (Self Promotion)
I used better-sqlite3 . It is simple to use as it is synchronous. I don't know if it scales good (at least the docs say it) but works great for my small use cases.
-
I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS
Kent's recommended NodeJS module, `better-sqlite3`, has some very nifty features including the creation of JavaScript user-defined functions[0] that (if I understand this right) can be called from SQLite. Combined with TRIGGERs, I wonder if it might fire a function within the app when an UPDATE/INSERT happens from a different process? (This is me wondering out loud, I don't actually know.)
I also recommend checking out Replicache[1] and alternatives, which may be a better way to handle the networking and database replication so that it doesn't rely on the underlying DB.
[0] https://github.com/WiseLibs/better-sqlite3/blob/HEAD/docs/ap...
bazel-postgres-sketch
-
We Went All in on Sqlc/Pgx for Postgres and Go
I uploaded most of our Workspace setup here: https://github.com/jschaf/bazel-postgres-sketch. The tooling is a bunch of Go to manage the Postgres process. Basically, give it schema files and receive a running database with a tear down command.
We make temp instances of Postgres quickly by:
- avoiding Docker, especially on Mac
- keeping the data dir on tmpfs
- Disable initdb cleanup
- Disable fsync and other data integrity flags
- Use unlogged tables.
- Use sockets instead of TCP localhost.
For a test suite, it was 12x faster to call createdb with the same Postgres cluster for each test than than to create a whole new db cluster. The trick was to create a template database after loading the schema and use that for each createdb call.
-
In Praise of PostgreSQL
Sure, here's sketch of how it works: https://github.com/jschaf/bazel-postgres-sketch
What are some alternatives?
sveltekit-prisma - A sample repository to show how SvelteKit and Prisma work together.
goyesql - Parse SQL files with multiple named queries and automatically prepare and scan them into structs.
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
pike - Generate CRUD gRPC backends from single YAML description.
SQLitePlus - A modern C++ header only SQLite3 wrapper
proteus - A simple tool for generating an application's data access layer.
dqlite - Embeddable, replicated and fault-tolerant SQL engine.
SQLBoiler - Generate a Go ORM tailored to your database schema.
node-sqlite3 - SQLite3 bindings for Node.js
pronto - Protobuf ORM
graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
gnorm - A database-first code generator for any language