X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/b021f0f5808d9a3b02ddc7f13c206ebc88387ff1..0ed9d7317f58878a38b6f3e1ac5ba052f4798538:/sql/Pg-upgrade2/custom_variables_delete_via_trigger_2.pl 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; }