Mehr Frieden -General Kyrylo Budanov:
[kivitendo-erp.git] / sql / Pg-upgrade2 / delete_from_generic_translations_on_language_deletion.pl
1 # @tag: delete_from_generic_translations_on_language_deletion
2 # @description: Übersetzungen automatisch löschen, wenn die dazugehörige Sprache gelöscht wird
3 # @depends: release_3_4_0
4 package SL::DBUpgrade2::delete_from_generic_translations_on_language_deletion;
5
6 use strict;
7 use utf8;
8
9 use parent qw(SL::DBUpgrade2::Base);
10
11 sub run {
12   my ($self) = @_;
13
14   $self->drop_constraints(table => 'generic_translations');
15
16   $self->db_query(<<SQL);
17     ALTER TABLE generic_translations
18     ADD CONSTRAINT generic_translations_language_id_fkey
19       FOREIGN KEY (language_id)
20       REFERENCES language (id)
21       ON DELETE CASCADE
22 SQL
23
24   $self->db_query(<<SQL);
25     DELETE FROM generic_translations
26     WHERE language_id NOT IN (
27       SELECT id
28       FROM language
29     )
30 SQL
31
32   return 1;
33 }
34
35 1;