Prove the import against a copy of the real library (#25) #33

Merged
sulthan merged 1 commits from feat/prove-import-real-library into main 2026-08-08 15:15:34 +07:00

1 Commits

Author SHA1 Message Date
sulthan 056989ea1d docs: SQLite to Postgres cutover runbook (#25)
Proves the import against a copy of the real library before the real one is
at risk, and writes the procedure down so it can be repeated at cutover
against a fresh export.

Verified on 2026-08-08: a throwaway generator read a copy of
bookmarks-20260807-213515.db and emitted Series-then-Bookmarks SQL against a
scratch Postgres whose schema and owner Reader were built by the real binary.
Result: 29 Bookmarks (18 reading, 11 archived, 7 favourites), 29 Series
matching the distinct (site, series_id) count, every Bookmark owned by the
seeded Reader, and a field-by-field diff of all 29 rows against the source
showing zero differences. GET /bookmarks over the real read path returned the
same 29. Production was not touched.

The generator itself stays out of the repository: its output is the owner's
reading history, and it reads SQLite, which the backend module dropped in
ADR-0001. CUTOVER.md specifies the transformation instead of shipping a
script.
2026-08-08 15:10:50 +07:00