28 lines
772 B
Markdown
28 lines
772 B
Markdown
|
|
---
|
||
|
|
id: "0001"
|
||
|
|
date: 2026-05-01
|
||
|
|
status: Accepted
|
||
|
|
supersedes:
|
||
|
|
superseded-by:
|
||
|
|
affected-paths: [lib/store.rb, config/database.yml]
|
||
|
|
affected-components: [store, persistence]
|
||
|
|
---
|
||
|
|
|
||
|
|
# 0001 — Use SQLite for local persistence
|
||
|
|
|
||
|
|
## Context
|
||
|
|
|
||
|
|
The app needs durable local storage with zero external services; data volume is small (thousands of rows) and single-user.
|
||
|
|
|
||
|
|
## Decision
|
||
|
|
|
||
|
|
All persistence goes through SQLite via lib/store.rb; no external database server is introduced.
|
||
|
|
|
||
|
|
## Consequences
|
||
|
|
|
||
|
|
Zero-dependency deploys and trivial backups; concurrent writers are not supported, which is acceptable for a single-user tool.
|
||
|
|
|
||
|
|
## Alternatives rejected
|
||
|
|
|
||
|
|
Postgres rejected: operational overhead unjustified at this scale. Flat JSON files rejected: no query capability and easy corruption.
|