Persistence
day-persistence is the independently versioned, first-party SQLite persistence extension for Day. It builds on Day’s public model and reactive APIs; apps that do not use it do not depend on it.
[dependencies]
day = { git = "https://github.com/daybrite/day.git", features = ["model"] }
day-persistence = { git = "https://github.com/daybrite/day-persistence.git" }
The default features provide bundled SQLite and the live-list adapter. Other options include
system SQLite, SQLCipher, and date/time codecs. day-model remains part of Day and works without
persistence.
- Full persistence guide
- Persistence Lab demo: database management, SQL execution and tracing, typed records, and JSON import/export.
- Regression tests
The web
The extension’s day-sqlite-worker crate owns its SQLite engine, OPFS worker, and browser
protocol. Day discovers its browser files through [package.metadata.day.web], just like any
other extension. See the web engine guide.
Compatibility and local development
Use the same Day source/version for the application and extension. To work on both checkouts, apply local Cargo patches at the consuming workspace root; do not compile a second copy of Day’s model/reactive crates. See the extension’s README for setup and validation.