feat(catalog): Spiele zusammenführen per Admin-Funktion (KAT-05, 2b) #56
No reviewers
Labels
No labels
epic/katalog
epic/konto
epic/partien
epic/querschnitt
epic/sammlung
needs-clarification
prio/could
prio/must
prio/should
size/l
size/m
size/s
size/xl
status/in-progress
status/ready-for-merge
status/spec-review
type/bug
type/epic
type/story
type/tech
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: cschlaefke/Shuffle#56
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/2b-katalog-zusammenfuehren"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #2 (kein
Closes: #2 schließt Chris nach Go-live-Check C1 und KAT-02 #4)Spec:
docs/specs/2-katalog-daten.md§ 3.3, § 4.4 (freigegeben). Teil 2b (R1.2 „Zusammenführen“) nach 2a (#52, #53, gemergt). Danach folgt 2c (Meldungen), das auf diesem Branch aufbaut.Inhalt
20261103193928_catalog_merge.sql(nur additiv, keine neue Tabelle):repoint_game_references(p_from, p_to)(intern) undadmin_merge_games(p_source, p_target); Ausführung nurpostgres/supabase_admin(revoke … from public, anon, authenticated, service_role),security invoker, leerersearch_path.owned>wishlist>shopping).null; feste Auswahlregel: älteste, dann kleinsteid).bgg_id/source_*werden aufs Ziel übertragen, Konflikte mit alten Werten im Ergebnis-JSON; Quelle wird ausgeblendet und verwiesen, nie gelöscht; Ketten werden geglättet.07_catalog_merge.test.sql(107 Tests), Runbookdocs/katalog-pflege.md§ 5 (Bausteine perid, wörtlich im Test),docs/datenmodell-r1.md,supabase/README.md, Spec-Nachtrag § 10.Review
code-reviewer: kein Fehler im Code, kein Fall von stillem Datenverlust; CHANGES REQUESTED wegen Testlücken (überlebende Mutanten für Spec-F1-Edition undvariants_cleared, Wächter aufgame_variants) – eingearbeitet in127f765. Mutationsprüfung der neuen Tests laut Entwickler: alle neuen Tests werden rot; ein Mutant (Null-Check) ist äquivalent. Die Nacharbeit hat kein Reviewer erneut gelesen.Bitte bestätigen (Abweichungen)
feature/2b-katalog-zusammenfuehren; Zeitstempel 20261103193928.favorite_games,favorite_conflicts,score_sheets,chain_flattened,source_conflict.source_synced_at).variants_clearedzählt Verweise (Sammlungseinträge + Partien), nicht Varianten; für #13 (N15) nützlicher.note,acquired_on,variant_id.Offene Entscheidung (Issue #2, Kommentar #834, Label
needs-clarification)Zusammengeführte Spiele bleiben per ID referenzierbar: ein veralteter Client oder eine offline erfasste Partie kann sich nach dem Merge noch an die Quelle hängen, ein Nachziehen scheitert mit
merge_source_already_merged. Empfehlung: erneuten Aufruf mit demselben Ziel erlauben. Bis zur Entscheidung gilt die Spec-Fassung; die Lücke steht im Runbook als Einschränkung.Nicht geprüft
EXPLAIN), Lauf alssupabase_admin, Verhalten im Studio-SQL-Editor, Staging/Prod, Performance bei sehr vielen Verweisen.🤖 Generated with Claude Code