mirror of
https://github.com/ReCloudStudio/WebHooker.git
synced 2026-09-23 00:21:28 +00:00
Previously, saveGroups() used DELETE FROM d1_groups followed by re-insertion, which triggered ON DELETE CASCADE and wiped all routes whenever any group was updated. Changes: - Use INSERT...ON CONFLICT DO UPDATE (upsert) instead of delete-then-insert - Only delete groups that are actually being removed - Delete routes first, then delete groups (proper cascade order) - Load existing group IDs before saving to detect deletions This fixes the critical bug where updating one group's metadata would delete all routes across all groups. Data recovery: Used D1 Time Travel to restore from bookmark 000018f9-00000002-000050de-f23b7bfe5ccdc00e9c9dec3a4de8bc81 (before the problematic group update), recovering 18 routes. |
||
|---|---|---|
| .. | ||
| config-store.ts | ||
| d1.ts | ||
| payload.ts | ||