Rebase completed — conflicts resolved
Rebased feature/observability-improvements onto main to resolve conflicts introduced by PR #165…
Review: PR #55 — Remove all ctime usage and storage (post-rework)
Rework complete — restored ON DELETE CASCADE on two foreign keys in internal/database/schema.sql that were accidentally dropped during the ctime removal:
snapshot_files.file_idFK →…
Yes, there's one clear duplicate. PruneDatabase() (line ~1133) has an inline 4-step cleanup pattern that's identical to deleteSnapshotFromLocalDB():
// PruneDatabase — inline…
Rebased onto main, resolving merge conflict in internal/vaultik/prune.go.
The conflict arose because PR #41 refactored PruneBlobs() to extract…
Checked: FK enforcement IS enabled. database.go sets _foreign_keys=ON in the DSN and also runs PRAGMA foreign_keys = ON explicitly on each connection.
So with PRs [#44](https://git.eeqj.de/s…
It depends on whether SQLite FK enforcement is actually enabled. SQLite requires PRAGMA foreign_keys = ON per connection — it's off by default, and many Go SQLite drivers don't enable it…
Yes — the cascades go from parent to junction table:
- Deleting a file → automatically deletes its
snapshot_filesjunction rows (which link files to snapshots) - Deleting a blob →…