X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fcustom_variables_delete_via_trigger_2.pl;h=7d441ed363d81177c9203c4d8dfd3117a84c4f3f;hb=f15f5e4321df31d2279edb480e9c7fc15c3af31c;hp=d97493d4f66faa008f6f98f54366a85e5be44c76;hpb=18448fcab0660724c680264f4b966930e784a8b8;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/custom_variables_delete_via_trigger_2.pl b/sql/Pg-upgrade2/custom_variables_delete_via_trigger_2.pl index d97493d4f..7d441ed36 100644 --- a/sql/Pg-upgrade2/custom_variables_delete_via_trigger_2.pl +++ b/sql/Pg-upgrade2/custom_variables_delete_via_trigger_2.pl @@ -10,98 +10,8 @@ use strict; use parent qw(SL::DBUpgrade2::Base); sub run { - my ($self) = @_; - - my @queries = ( - #Delete orphaned entries - q|DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id NOT IN (SELECT id FROM customer UNION SELECT id FROM vendor) - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'CT'|, - q|DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id NOT IN (SELECT id FROM contacts) - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'Contacts'|, - q|DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id NOT IN (SELECT id FROM parts) - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'IC'|, - q|DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id NOT IN (SELECT id FROM project) - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'Projects'|, - - #Create trigger - q|CREATE OR REPLACE FUNCTION delete_cv_custom_variables_trigger() RETURNS trigger AS $$ - BEGIN - DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id = OLD.id - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'CT'; - - RETURN OLD; - END; - $$ LANGUAGE plpgsql|, - - q|DROP TRIGGER IF EXISTS delete_cv_custom_variables ON customer|, - q|DROP TRIGGER IF EXISTS delete_cv_custom_variables ON vendor|, - - q|CREATE TRIGGER delete_cv_custom_variables - BEFORE DELETE ON customer - FOR EACH ROW EXECUTE PROCEDURE delete_cv_custom_variables_trigger()|, - q|CREATE TRIGGER delete_cv_custom_variables - BEFORE DELETE ON vendor - FOR EACH ROW EXECUTE PROCEDURE delete_cv_custom_variables_trigger()|, - - #Create trigger - q|CREATE OR REPLACE FUNCTION delete_contact_custom_variables_trigger() RETURNS trigger AS $$ - BEGIN - DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id = OLD.cp_id - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'Contacts'; - - RETURN OLD; - END; - $$ LANGUAGE plpgsql|, - - q|DROP TRIGGER IF EXISTS delete_contact_custom_variables ON contacts|, - - q|CREATE TRIGGER delete_contact_custom_variables - BEFORE DELETE ON contacts - FOR EACH ROW EXECUTE PROCEDURE delete_contact_custom_variables_trigger()|, - - #Create trigger - q|CREATE OR REPLACE FUNCTION delete_part_custom_variables_trigger() RETURNS trigger AS $$ - BEGIN - DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id = OLD.id - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'IC'; - - RETURN OLD; - END; - $$ LANGUAGE plpgsql|, - - q|DROP TRIGGER IF EXISTS delete_part_custom_variables ON parts|, - - q|CREATE TRIGGER delete_part_custom_variables - BEFORE DELETE ON parts - FOR EACH ROW EXECUTE PROCEDURE delete_part_custom_variables_trigger()|, - - #Create trigger - q|CREATE OR REPLACE FUNCTION delete_project_custom_variables_trigger() RETURNS trigger AS $$ - BEGIN - DELETE FROM custom_variables WHERE (sub_module = '' OR sub_module IS NULL) - AND trans_id = OLD.id - AND (SELECT module FROM custom_variable_configs WHERE id = config_id) = 'Projects'; - - RETURN OLD; - END; - $$ LANGUAGE plpgsql|, - - q|DROP TRIGGER IF EXISTS delete_project_custom_variables ON project|, - - q|CREATE TRIGGER delete_project_custom_variables - BEFORE DELETE ON project - FOR EACH ROW EXECUTE PROCEDURE delete_project_custom_variables_trigger()|, - - ); - - $self->db_query($_) for @queries; + # This script is intentionally empty, because there is another upgrade script + # which provides this functionality. return 1; }