Skip to content

Storage & Portability

Wakeplane v0.2.0-beta.1 is SQLite-first.

  • Zero infrastructure dependency
  • Simple deployment
  • Single-writer model
  • Embedded migrations
  • One writer
  • File-based database
  • No distributed or multi-writer deployment
  • Single-connection model
Terminal window
WAKEPLANE_DB_PATH=./wakeplane.db
  • Schedules
  • Runs
  • Leases
  • Dead letters
  • Receipts

All timestamps are stored as UTC RFC3339 strings. IDs are application-generated ULIDs stored as text.

Everything above internal/store is already portable. The planner, dispatcher, API, CLI, and domain logic do not depend on SQLite internals.

ChangeEffort
Driver and connection configSmall
Remove SQLite PRAGMAsTrivial
Timestamp columns -> TIMESTAMPTZMedium
Boolean columns -> BOOLEANSmall
JSON columns -> JSONBSmall
INSERT OR REPLACE -> ON CONFLICT DO UPDATESmall
julianday() replacementSmall
Error detection updatesSmall

The scope is intentionally contained to the store package and migrations.