Revision 6768ddad
Von Moritz Bunkus vor mehr als 8 Jahren hinzugefügt
sql/Pg-upgrade2/auto_delete_sepa_export_items_on_ap_ar_deletion.pl | ||
---|---|---|
1 |
# @tag: auto_delete_sepa_export_items_on_ap_ar_deletion |
|
2 |
# @description: Automatisch Einträge aus reconciliation_links entfernen, wenn referenzierte Einträge gelöscht werden |
|
3 |
# @depends: sepa_in |
|
4 |
package SL::DBUpgrade2::auto_delete_sepa_export_items_on_ap_ar_deletion; |
|
5 |
|
|
6 |
use utf8; |
|
7 |
use strict; |
|
8 |
|
|
9 |
use parent qw(SL::DBUpgrade2::Base); |
|
10 |
|
|
11 |
sub run { |
|
12 |
my ($self) = @_; |
|
13 |
|
|
14 |
$self->drop_constraints(table => $_) for qw(sepa_export_items); |
|
15 |
|
|
16 |
my @queries = ( |
|
17 |
q|ALTER TABLE sepa_export_items ADD CONSTRAINT sepa_export_items_ar_id_fkey FOREIGN KEY (ar_id) REFERENCES ar (id) ON DELETE CASCADE|, |
|
18 |
q|ALTER TABLE sepa_export_items ADD CONSTRAINT sepa_export_items_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES ap (id) ON DELETE CASCADE|, |
|
19 |
); |
|
20 |
|
|
21 |
$self->db_query($_) for @queries; |
|
22 |
|
|
23 |
return 1; |
|
24 |
} |
|
25 |
|
|
26 |
1; |
Auch abrufbar als: Unified diff
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.