X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=sql%2FPg-upgrade2%2Fauto_delete_reconciliation_links_on_acc_trans_deletion.pl;fp=sql%2FPg-upgrade2%2Fauto_delete_reconciliation_links_on_acc_trans_deletion.pl;h=70e76f76f2c27c389f40606f03675925b0145900;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=0000000000000000000000000000000000000000;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/auto_delete_reconciliation_links_on_acc_trans_deletion.pl b/sql/Pg-upgrade2/auto_delete_reconciliation_links_on_acc_trans_deletion.pl new file mode 100644 index 000000000..70e76f76f --- /dev/null +++ b/sql/Pg-upgrade2/auto_delete_reconciliation_links_on_acc_trans_deletion.pl @@ -0,0 +1,26 @@ +# @tag: auto_delete_reconciliation_links_on_acc_trans_deletion +# @description: Automatisch Einträge aus reconciliation_links entfernen, wenn referenzierte Einträge gelöscht werden +# @depends: automatic_reconciliation +package SL::DBUpgrade2::auto_delete_reconciliation_links_on_acc_trans_deletion; + +use utf8; +use strict; + +use parent qw(SL::DBUpgrade2::Base); + +sub run { + my ($self) = @_; + + $self->drop_constraints(table => $_) for qw(reconciliation_links); + + my @queries = ( + q|ALTER TABLE reconciliation_links ADD CONSTRAINT reconciliation_links_acc_trans_id_fkey FOREIGN KEY (acc_trans_id) REFERENCES acc_trans (acc_trans_id) ON DELETE CASCADE|, + q|ALTER TABLE reconciliation_links ADD CONSTRAINT reconciliation_links_bank_transaction_id FOREIGN KEY (bank_transaction_id) REFERENCES bank_transactions (id) ON DELETE CASCADE|, + ); + + $self->db_query($_) for @queries; + + return 1; +} + +1;