storage: version querylog.db and migrate it in place, never reset a healthy file
Gates / frontend (push) Successful in 2m8s
Gates / test (push) Successful in 2m46s
Gates / test-aarch64 (push) Successful in 8m38s
Gates / package (push) Successful in 4m39s
Gates / container (push) Successful in 15s
CI / gates (push) Successful in 31m58s
Gates / frontend (push) Successful in 2m8s
Gates / test (push) Successful in 2m46s
Gates / test-aarch64 (push) Successful in 8m38s
Gates / package (push) Successful in 4m39s
Gates / container (push) Successful in 15s
CI / gates (push) Successful in 31m58s
querylog.db carries a schema version; migrations run at startup as one transaction after a vacuumed 0600 backup, and every failure refuses startup (exit 2, no systemd restart loop) instead of starting empty. corruption is the only automatic recreate left. the cut gate now requires a fixture-proven migration or an explicit versioned break with restore instructions, and locks shipped migration files and fixtures byte-for-byte.
This commit is contained in:
@@ -37,6 +37,7 @@ Descriptions of what is there. No procedures, no advice.
|
||||
- [reference/api.md](reference/api.md) — every REST route, authentication and the event stream.
|
||||
- [reference/cli.md](reference/cli.md) — the six subcommands, every flag, every exit code.
|
||||
- [reference/files-and-directories.md](reference/files-and-directories.md) — the data directory layout and file modes.
|
||||
- [reference/query-log-lifecycle.md](reference/query-log-lifecycle.md) — how `querylog.db` is versioned, migrated, backed up and, rarely, recreated.
|
||||
- [reference/performance.md](reference/performance.md) — the targets and the measured numbers.
|
||||
|
||||
## Explanation
|
||||
|
||||
Reference in New Issue
Block a user