Commit 1ffb74cc9f7f0935068a3446160b6d9593b9bf65
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
Showing
2 changed files
with
161 additions
and
0 deletions
Show diff stats
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, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '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 | ... | ... |