From: Moritz Bunkus Date: Mon, 26 Sep 2016 09:14:49 +0000 (+0200) Subject: sepa_export_items automatisch mit Rechnungen löschen X-Git-Tag: release-3.5.4~2021 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=6768ddad54d2a675939e1167536f4943628de2bb;p=kivitendo-erp.git sepa_export_items automatisch mit Rechnungen löschen Wenn man eine Rechnung löschen möchte, die bereits in einen SEPA-Export verwendet wurde, so erhält man eine Fehlermeldung. Also den dazugehörigen Eintrag aus »sepa_export_items« automatisch über ein »ON DELETE CASCADE« auf den Fremdschlüsseln löschen lassen. --- diff --git a/sql/Pg-upgrade2/auto_delete_sepa_export_items_on_ap_ar_deletion.pl b/sql/Pg-upgrade2/auto_delete_sepa_export_items_on_ap_ar_deletion.pl new file mode 100644 index 000000000..f7bad040a --- /dev/null +++ b/sql/Pg-upgrade2/auto_delete_sepa_export_items_on_ap_ar_deletion.pl @@ -0,0 +1,26 @@ +# @tag: auto_delete_sepa_export_items_on_ap_ar_deletion +# @description: Automatisch Einträge aus reconciliation_links entfernen, wenn referenzierte Einträge gelöscht werden +# @depends: sepa_in +package SL::DBUpgrade2::auto_delete_sepa_export_items_on_ap_ar_deletion; + +use utf8; +use strict; + +use parent qw(SL::DBUpgrade2::Base); + +sub run { + my ($self) = @_; + + $self->drop_constraints(table => $_) for qw(sepa_export_items); + + my @queries = ( + q|ALTER TABLE sepa_export_items ADD CONSTRAINT sepa_export_items_ar_id_fkey FOREIGN KEY (ar_id) REFERENCES ar (id) ON DELETE CASCADE|, + q|ALTER TABLE sepa_export_items ADD CONSTRAINT sepa_export_items_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES ap (id) ON DELETE CASCADE|, + ); + + $self->db_query($_) for @queries; + + return 1; +} + +1;