reconciliation_links automatisch mit Abhängigkeiten löschen
Wenn man einen Eintrag aus acc_trans löschen möchte (z.B. beim Löschen
einer gebuchten Einkaufs- oder Verkaufsrechnung, zu der bereits
Zahlungen verbucht wurden, für die wiederum ein Bankabgleich
stattgefunden hat), so wird bisher nur der Eintrag aus ar/ap
entfernt. Datenbanktrigger entfernen dann die Einträge aus »acc_trans« —
doch diese sind in dem Moment noch über »reconciliation_links«
referenziert.
Die »reconciliation_links« verknüpft allerdings ausschließlich die
Einträge aus »acc_trans« bzw. »bank_transactions« ohne weitere
Nebenwirkungen. Daher genügt es, wenn die Einträge über ein »ON DELETE
CASCADE« auf ihren Fremschlüssel mit gelöscht werden.
Diese Änderung betrifft auch #193 (»Kontenabgleich mit Bank« verhindert
nachträgliches Hinzufügen von Zahlungen). Durch die Änderung passiert
jetzt beim nachträglichen Buchen von Zahlungen Folgendes:
• Einträge aus »acc_trans« werden gelöscht
• Einträge aus »reconciliation_links« fliegen durch »ON DELETE CASCADE«
automatisch mit raus
• Einträge in »acc_trans« werden wieder neu eingefügt, nicht aber
Einträge in »reconciliation_links«
Sprich diese Änderung versteckt den Bug, dass das nachträgliche
Verändern von Zahlungen bereits abgeglichene Zahlungen falsch
behandelt. Das muss weiterhin gefixt werden, das Fehlverhalten ist
schlicht nicht mehr so offensichtlich.