storage-handles-schema-evolution-via-try-except

IN premise

Missing tables from older database versions (`repos`, `network_meta`) are handled by swallowing exceptions during `load()` rather than formal migrations — a backward-compatibility substitute that silently degrades.

Summary

When the database schema changes between versions, the code doesn't use a proper migration system to update old databases. Instead, the load function just wraps newer table reads in try/except blocks so that if a table doesn't exist yet, the error is silently caught and that data is simply skipped. This keeps old databases from crashing but means there's no explicit upgrade path, and users won't know their database is missing features until they notice something isn't working.

Dependents

These beliefs depend on this one:

Details

Sourceentries/2026/04/29/reasons_lib-storage.md