Datenbank onDelete verhalten überprüfen #195

Open
opened 2026-03-09 14:10:06 +00:00 by sneeex · 2 comments
Owner

Beschreibung

In der Match-Tabelle war die groupId mit onDelete: KeyAction.cascade gesetzt. Das hätte bedeutet, dass beim Löschen einer Gruppe auch alle assoziierten Matches gelöscht werden. Diesen Fall habe ich jetzt auf setNull geändert. Das heißt: Wenn eine Gruppe gelöscht wird, wird die groupId in den verknüpften Matches auf null gesetzt.

Mir geht es vor allem darum, dass möglicherweise auch in anderen Tabellen ähnliche Fehler vorhanden sind. Wenn man so etwas nicht im Kopf hat, kann das zu sehr seltsamem Verhalten führen, das man dann unter Umständen wieder jahrelang debuggt.

Also sollten einmal alle Tabellen auf so welche Probleme überprüft werden.

Schritte zur Reproduktion

/

Umgebung

No response

Lösungsidee

/

Verwandte Issues

/

### Beschreibung In der Match-Tabelle war die groupId mit `onDelete: KeyAction.cascade` gesetzt. Das hätte bedeutet, dass beim Löschen einer Gruppe auch alle assoziierten Matches gelöscht werden. Diesen Fall habe ich jetzt auf `setNull` geändert. Das heißt: Wenn eine Gruppe gelöscht wird, wird die `groupId` in den verknüpften Matches auf `null` gesetzt. Mir geht es vor allem darum, dass möglicherweise auch in anderen Tabellen ähnliche Fehler vorhanden sind. Wenn man so etwas nicht im Kopf hat, kann das zu sehr seltsamem Verhalten führen, das man dann unter Umständen wieder jahrelang debuggt. Also sollten einmal alle Tabellen auf so welche Probleme überprüft werden. ### Schritte zur Reproduktion / ### Umgebung _No response_ ### Lösungsidee / ### Verwandte Issues /
sneeex added the
Task
Bug
label 2026-03-09 14:10:06 +00:00
flixcoo added the
Layer
DB
Priority
High
2
labels 2026-03-09 19:03:10 +00:00
flixcoo changed time estimate to 2h 2026-03-09 19:52:05 +00:00
Author
Owner
  • sachen wie nullable überprüfen, bspw. war match name nullable, was ja keinen sinn macht
+ sachen wie nullable überprüfen, bspw. war match name nullable, was ja keinen sinn macht
flixcoo added this to the Alpha milestone 2026-03-09 20:29:14 +00:00
flixcoo self-assigned this 2026-03-09 20:29:16 +00:00
gelbeinhalb self-assigned this 2026-04-13 14:22:36 +00:00
flixcoo removed their assignment 2026-04-13 21:17:49 +00:00
flixcoo added the Technical Debt label 2026-04-16 12:27:32 +00:00
gelbeinhalb started working 2026-04-19 10:36:35 +00:00
gelbeinhalb added reference bug/195-datenbank-onDelete-ueberpruefen 2026-04-19 10:39:47 +00:00
gelbeinhalb worked for 35 minutes 2026-04-19 11:11:40 +00:00
gelbeinhalb added spent time 30 minutes 2026-04-30 09:01:05 +00:00
gelbeinhalb started working 2026-04-30 09:01:06 +00:00
gelbeinhalb worked for 55 minutes 2026-04-30 09:56:32 +00:00
gelbeinhalb started working 2026-05-12 18:01:16 +00:00
Owner

Ich hab die sachen mit Nullable und dem cascade delete überprüft und keine weiteren Fehler gefunden.
Momentan ergeben alle usages von onDelete: KeyAction.cascade einen Sinn.

Ich hab die sachen mit Nullable und dem cascade delete überprüft und keine weiteren Fehler gefunden. Momentan ergeben alle usages von `onDelete: KeyAction.cascade` einen Sinn.
gelbeinhalb worked for 1 hour 9 minutes 2026-05-12 19:10:31 +00:00
gelbeinhalb started working 2026-05-12 19:12:14 +00:00
gelbeinhalb worked for 54 minutes 2026-05-12 20:07:00 +00:00
sneeex added a new dependency 2026-05-15 13:15:13 +00:00
flixcoo added the
Workflow
In Progress
3
label 2026-05-16 15:50:08 +00:00
Sign in to join this conversation.
2 Participants
Notifications
Total Time Spent: 4 hours 4 minutes
gelbeinhalb
4 hours 4 minutes
Due Date
No due date set.
Blocks
#180 Spielerprofile implementieren
liquid-development/game-tracker
Reference: liquid-development/game-tracker#195