Skip to Content
DevelopersDecision records0003 New entries table

0003: Add a new entries table instead of altering Expense

Status: accepted

Context

The product requirements move amounts from floating point to integer kobo, add a source and confidence to every record, and use client-generated UUIDs. The database is live and our rule is that migrations must be additive and backward-compatible.

Decision

Create entries as a new table. Leave Expense and Budget untouched and read-only. Every Phase 1 migration is purely additive.

Consequences

  • No live data is altered while v2 is built, so the additive-only rule holds.
  • Existing users’ history needs an explicit, optional backfill into entries. That is a separate, verified step planned for after the new ledger is in place, and it is the only destructive step.
Last updated on