Commit 1ffb74cc9f7f0935068a3446160b6d9593b9bf65

Authored by Eriksen Costa Paixão
1 parent aabd9dea
Exists in master

by Eriksen: Corrigido problemas com a restauração de triggers e constraints das …

…tabelas public.uf e public.municipio em decorrência da limpeza do banco de dados


ieducar/misc/database/deltas/5_corrige_triggers_constrainst.sql 0 → 100644
... ... @@ -0,0 +1,76 @@
  1 +-- //
  2 +
  3 +--
  4 +-- Restaura triggers e constraints das tabelas public.municipio e public.uf
  5 +-- que foram totalmente desabilitadas pelos scripts de limpeza de banco de
  6 +-- dados. O schema de todos os comandos é o public.
  7 +--
  8 +-- Nenhum efeito colateral foi relatado por conta dessas remoções. Este
  9 +-- delta visa apenas a reestabelecer a eventual consistência que estas
  10 +-- triggers e constraint dão.
  11 +--
  12 +-- Para visualizar a diferença e ter um número que indique a quantidade
  13 +-- de triggers habilitadas, execute a seguinte query em uma base do
  14 +-- i-Educar 1.0.2 (rev. 57) e outra do primeiro beta do i-Educar 1.1.0
  15 +-- (rev. 80). Substitua ? por 'municipio' e depois por 'uf'.
  16 +--
  17 +-- Quantidades esperadas (1.0.2 e 1.1.0-beta1, respectivamente):
  18 +-- * uf: 16/12
  19 +-- * municipio: 26/6
  20 +--
  21 +-- <code>
  22 +-- (SELECT
  23 +-- count(pg_trigger.*)
  24 +-- FROM
  25 +-- pg_catalog.pg_class, pg_catalog.pg_trigger
  26 +-- WHERE
  27 +-- pg_class.relname = '?'
  28 +-- AND pg_class.oid = pg_trigger.tgrelid)
  29 +-- <code>
  30 +--
  31 +-- O script que não reestabeleceu as triggers e constraints foi o da
  32 +-- terceira versão (2_populate_basic_data.sql@6516), disponível no ticket #37:
  33 +-- {@link http://svn.softwarepublico.gov.br/trac/ieducar/ticket/37#change_1}.
  34 +--
  35 +-- @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br>
  36 +-- @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  37 +-- @version $Id$
  38 +--
  39 +
  40 +CREATE TRIGGER trg_bef_municipio_historico
  41 + BEFORE UPDATE ON municipio
  42 + FOR EACH ROW
  43 + EXECUTE PROCEDURE historico.fcn_grava_historico_municipio();
  44 +
  45 +CREATE TRIGGER trg_delete_municipio_historico
  46 + AFTER DELETE ON municipio
  47 + FOR EACH ROW
  48 + EXECUTE PROCEDURE historico.fcn_delete_grava_historico_municipio();
  49 +
  50 +ALTER TABLE ONLY municipio
  51 + ADD CONSTRAINT fk_logradouro_municipio FOREIGN KEY (idmun) REFERENCES municipio(idmun);
  52 +
  53 +ALTER TABLE ONLY municipio
  54 + ADD CONSTRAINT fk_municipio_municipiopai FOREIGN KEY (idmun_pai) REFERENCES municipio(idmun);
  55 +
  56 +ALTER TABLE ONLY municipio
  57 + ADD CONSTRAINT fk_municipio_sistema_idpes_cad FOREIGN KEY (idpes_cad) REFERENCES cadastro.pessoa(idpes) ON DELETE SET NULL;
  58 +
  59 +ALTER TABLE ONLY municipio
  60 + ADD CONSTRAINT fk_municipio_sistema_idpes_rev FOREIGN KEY (idpes_rev) REFERENCES cadastro.pessoa(idpes) ON DELETE SET NULL;
  61 +
  62 +ALTER TABLE ONLY municipio
  63 + ADD CONSTRAINT fk_municipio_sistema_idsis_cad FOREIGN KEY (idsis_cad) REFERENCES acesso.sistema(idsis) ON DELETE SET NULL;
  64 +
  65 +ALTER TABLE ONLY municipio
  66 + ADD CONSTRAINT fk_municipio_sistema_idsis_rev FOREIGN KEY (idsis_rev) REFERENCES acesso.sistema(idsis) ON DELETE SET NULL;
  67 +
  68 +ALTER TABLE ONLY municipio
  69 + ADD CONSTRAINT fk_municipio_uf FOREIGN KEY (sigla_uf) REFERENCES uf(sigla_uf);
  70 +
  71 +ALTER TABLE ONLY uf
  72 + ADD CONSTRAINT fk_uf_pais FOREIGN KEY (idpais) REFERENCES pais(idpais);
  73 +
  74 +-- //@UNDO
  75 +
  76 +-- //
... ...
ieducar/misc/database/ieducar.sql
... ... @@ -19158,6 +19158,7 @@ INSERT INTO changelog VALUES (2, &#39;Main&#39;, &#39;NOW()&#39;, &#39;NOW()&#39;, &#39;dbdeploy&#39;, &#39;2_popula
19158 19158 INSERT INTO changelog VALUES (1, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '1_cria_schema_inicial.sql');
19159 19159 INSERT INTO changelog VALUES (3, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '3_corrige_sequences.sql');
19160 19160 INSERT INTO changelog VALUES (4, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '4_permissoes_usuario_tipo_biblioteca.sql');
  19161 +INSERT INTO changelog VALUES (5, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '5_corrige_triggers_constrainst.sql');
19161 19162  
19162 19163  
19163 19164 --
... ... @@ -30055,6 +30056,16 @@ CREATE TRIGGER trg_bef_logradouro_historico
30055 30056  
30056 30057  
30057 30058 --
  30059 +-- Name: trg_bef_municipio_historico; Type: TRIGGER; Schema: public; Owner: -
  30060 +--
  30061 +
  30062 +CREATE TRIGGER trg_bef_municipio_historico
  30063 + BEFORE UPDATE ON municipio
  30064 + FOR EACH ROW
  30065 + EXECUTE PROCEDURE historico.fcn_grava_historico_municipio();
  30066 +
  30067 +
  30068 +--
30058 30069 -- Name: trg_delete_bairro_historico; Type: TRIGGER; Schema: public; Owner: -
30059 30070 --
30060 30071  
... ... @@ -30074,6 +30085,16 @@ CREATE TRIGGER trg_delete_logradouro_historico
30074 30085 EXECUTE PROCEDURE historico.fcn_delete_grava_historico_logradouro();
30075 30086  
30076 30087  
  30088 +--
  30089 +-- Name: trg_delete_municipio_historico; Type: TRIGGER; Schema: public; Owner: -
  30090 +--
  30091 +
  30092 +CREATE TRIGGER trg_delete_municipio_historico
  30093 + AFTER DELETE ON municipio
  30094 + FOR EACH ROW
  30095 + EXECUTE PROCEDURE historico.fcn_delete_grava_historico_municipio();
  30096 +
  30097 +
30077 30098 SET search_path = urbano, pg_catalog;
30078 30099  
30079 30100 --
... ... @@ -35539,6 +35560,14 @@ ALTER TABLE ONLY logradouro_fonetico
35539 35560  
35540 35561  
35541 35562 --
  35563 +-- Name: fk_logradouro_municipio; Type: FK CONSTRAINT; Schema: public; Owner: -
  35564 +--
  35565 +
  35566 +ALTER TABLE ONLY municipio
  35567 + ADD CONSTRAINT fk_logradouro_municipio FOREIGN KEY (idmun) REFERENCES municipio(idmun);
  35568 +
  35569 +
  35570 +--
35542 35571 -- Name: fk_logradouro_sistema_idpes_cad; Type: FK CONSTRAINT; Schema: public; Owner: -
35543 35572 --
35544 35573  
... ... @@ -35579,6 +35608,54 @@ ALTER TABLE ONLY logradouro
35579 35608  
35580 35609  
35581 35610 --
  35611 +-- Name: fk_municipio_municipiopai; Type: FK CONSTRAINT; Schema: public; Owner: -
  35612 +--
  35613 +
  35614 +ALTER TABLE ONLY municipio
  35615 + ADD CONSTRAINT fk_municipio_municipiopai FOREIGN KEY (idmun_pai) REFERENCES municipio(idmun);
  35616 +
  35617 +
  35618 +--
  35619 +-- Name: fk_municipio_sistema_idpes_cad; Type: FK CONSTRAINT; Schema: public; Owner: -
  35620 +--
  35621 +
  35622 +ALTER TABLE ONLY municipio
  35623 + ADD CONSTRAINT fk_municipio_sistema_idpes_cad FOREIGN KEY (idpes_cad) REFERENCES cadastro.pessoa(idpes) ON DELETE SET NULL;
  35624 +
  35625 +
  35626 +--
  35627 +-- Name: fk_municipio_sistema_idpes_rev; Type: FK CONSTRAINT; Schema: public; Owner: -
  35628 +--
  35629 +
  35630 +ALTER TABLE ONLY municipio
  35631 + ADD CONSTRAINT fk_municipio_sistema_idpes_rev FOREIGN KEY (idpes_rev) REFERENCES cadastro.pessoa(idpes) ON DELETE SET NULL;
  35632 +
  35633 +
  35634 +--
  35635 +-- Name: fk_municipio_sistema_idsis_cad; Type: FK CONSTRAINT; Schema: public; Owner: -
  35636 +--
  35637 +
  35638 +ALTER TABLE ONLY municipio
  35639 + ADD CONSTRAINT fk_municipio_sistema_idsis_cad FOREIGN KEY (idsis_cad) REFERENCES acesso.sistema(idsis) ON DELETE SET NULL;
  35640 +
  35641 +
  35642 +--
  35643 +-- Name: fk_municipio_sistema_idsis_rev; Type: FK CONSTRAINT; Schema: public; Owner: -
  35644 +--
  35645 +
  35646 +ALTER TABLE ONLY municipio
  35647 + ADD CONSTRAINT fk_municipio_sistema_idsis_rev FOREIGN KEY (idsis_rev) REFERENCES acesso.sistema(idsis) ON DELETE SET NULL;
  35648 +
  35649 +
  35650 +--
  35651 +-- Name: fk_municipio_uf; Type: FK CONSTRAINT; Schema: public; Owner: -
  35652 +--
  35653 +
  35654 +ALTER TABLE ONLY municipio
  35655 + ADD CONSTRAINT fk_municipio_uf FOREIGN KEY (sigla_uf) REFERENCES uf(sigla_uf);
  35656 +
  35657 +
  35658 +--
35582 35659 -- Name: fk_setor_idsetredir; Type: FK CONSTRAINT; Schema: public; Owner: -
35583 35660 --
35584 35661  
... ... @@ -35595,6 +35672,14 @@ ALTER TABLE ONLY setor
35595 35672  
35596 35673  
35597 35674 --
  35675 +-- Name: fk_uf_pais; Type: FK CONSTRAINT; Schema: public; Owner: -
  35676 +--
  35677 +
  35678 +ALTER TABLE ONLY uf
  35679 + ADD CONSTRAINT fk_uf_pais FOREIGN KEY (idpais) REFERENCES pais(idpais);
  35680 +
  35681 +
  35682 +--
35598 35683 -- Name: fk_vila_municipio; Type: FK CONSTRAINT; Schema: public; Owner: -
35599 35684 --
35600 35685  
... ...