bun:sqlite for Bun and node:sqlite for Node.js (requires Node.js
22.5+).
Setup
BackendSqlite.connect() is synchronous (no await needed).
File Path
The database file is created if it doesn’t exist:Configuration Options
Git Ignore
Add the database file and SQLite sidecar files to.gitignore:
init command does this automatically when you choose SQLite.
When to Use SQLite
Good for:- Local development
- Testing and CI
- Single-server deployments
- Prototyping
- Small-scale production with low throughput
- Multi-server deployments
- High concurrency requirements
- Production workloads with many workers
- Environments requiring database-level backups
Concurrency
SQLite supports concurrent reads but uses locking for writes. The backend handles this withBEGIN IMMEDIATE transactions. For single-worker setups, this
works well. For multiple workers, PostgreSQL is recommended.
Namespaces
UsenamespaceId to isolate environments:
Config File Example
For use with the CLI, createopenworkflow.config.ts: