Implement a first-class schema version system with the following components: - schema_versions table (SQLite) tracking applied migrations - Numbered migration files (001_initial.sql, 002_feature_tables.sql) - MigrationRegistry for version validation and pending migration detection - Startup: read current version → apply pending migrations → record latest - Refuse to start if DB version > binary version (SchemaVersionAhead error) Acceptance criteria met: - First run creates schema at version 001 - Second run is a no-op (single SELECT for version check) - Store version > binary version fails with SchemaVersionAhead error - Migration metadata structure is backend-agnostic (shared by SQLite/Redis) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 001_initial.sql | ||
| 002_feature_tables.sql | ||