Commit 2af4bd94a2e426123c99cb027bb99d2c482dc50a

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

#46 by Eriksen: Corrigido problemas nas sequences com arquivo delta e atualizaçã…

…o do dump do banco de dados


ieducar/misc/database/deltas/3_corrige_sequences.sql 0 → 100644
@@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
  1 +-- //
  2 +
  3 +--
  4 +-- Corrige sequences que apresentaram valores incorretos devido a limpeza do
  5 +-- banco de dados. Isso ocorre quando uma instrução SQL INSERT informa o valor
  6 +-- da chave primária. O PostgreSQL não executa a chamada a nextval() dos campos
  7 +-- de tipo serial e nem atualiza a sequence com setval(), apesar de esse
  8 +-- comportamento estar presente nos tipos autoincrement do MySQL.
  9 +--
  10 +-- O problema que ocorre é a execução de um SQL INSERT sem passar um valor para
  11 +-- a chave primária (sequence). Se o próximo valor da sequence já estiver sendo
  12 +-- utilizado, um erro de integridade da chave é lançada.
  13 +--
  14 +-- Exemplo de SQL que resultaria em erro (observe o valor 1):
  15 +-- <code>
  16 +-- INSERT INTO acesso.sistema(
  17 +-- idsis, nome, descricao, contexto, situacao)
  18 +-- VALUES (1, ?, ?, ?, ?);
  19 +-- <code>
  20 +--
  21 +-- @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br>
  22 +-- @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  23 +-- @version $Id$
  24 +--
  25 +
  26 +SELECT setval('acesso.sistema_idsis_seq', MAX(idsis)) FROM acesso.sistema WHERE TRUE;
  27 +SELECT setval('pmicontrolesis.menu_cod_menu_seq', MAX(cod_menu)) FROM pmicontrolesis.menu WHERE TRUE;
  28 +SELECT setval('pmicontrolesis.tutormenu_cod_tutormenu_seq', MAX(cod_tutormenu)) FROM pmicontrolesis.tutormenu WHERE TRUE;
  29 +SELECT setval('pmieducar.instituicao_cod_instituicao_seq', MAX(cod_instituicao)) FROM pmieducar.instituicao WHERE TRUE;
  30 +SELECT setval('pmieducar.tipo_usuario_cod_tipo_usuario_seq', MAX(cod_tipo_usuario)) FROM pmieducar.tipo_usuario WHERE TRUE;
  31 +SELECT setval('portal.imagem_cod_imagem_seq', MAX(cod_imagem)) FROM portal.imagem WHERE TRUE;
  32 +SELECT setval('portal.imagem_tipo_cod_imagem_tipo_seq', MAX(cod_imagem_tipo)) FROM portal.imagem_tipo WHERE TRUE;
  33 +SELECT setval('portal.menu_menu_cod_menu_menu_seq', MAX(cod_menu_menu)) FROM portal.menu_menu WHERE TRUE;
  34 +SELECT setval('portal.menu_submenu_cod_menu_submenu_seq', MAX(cod_menu_submenu)) FROM portal.menu_submenu WHERE TRUE;
  35 +
  36 +-- //@UNDO
  37 +
  38 +-- //
ieducar/misc/database/ieducar.sql
@@ -86,13 +86,6 @@ CREATE SCHEMA portal; @@ -86,13 +86,6 @@ CREATE SCHEMA portal;
86 86
87 87
88 -- 88 --
89 --- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: -  
90 ---  
91 -  
92 -COMMENT ON SCHEMA public IS 'Standard public schema';  
93 -  
94 -  
95 ---  
96 -- Name: urbano; Type: SCHEMA; Schema: -; Owner: - 89 -- Name: urbano; Type: SCHEMA; Schema: -; Owner: -
97 -- 90 --
98 91
@@ -7343,7 +7336,7 @@ CREATE TABLE grupo_sistema ( @@ -7343,7 +7336,7 @@ CREATE TABLE grupo_sistema (
7343 -- 7336 --
7344 7337
7345 CREATE TABLE historico_senha ( 7338 CREATE TABLE historico_senha (
7346 - "login" character varying(16) NOT NULL, 7339 + login character varying(16) NOT NULL,
7347 senha character varying(60) NOT NULL, 7340 senha character varying(60) NOT NULL,
7348 data_cad timestamp without time zone NOT NULL 7341 data_cad timestamp without time zone NOT NULL
7349 ); 7342 );
@@ -7506,7 +7499,6 @@ CREATE TABLE pessoa_instituicao ( @@ -7506,7 +7499,6 @@ CREATE TABLE pessoa_instituicao (
7506 -- 7499 --
7507 7500
7508 CREATE SEQUENCE sistema_idsis_seq 7501 CREATE SEQUENCE sistema_idsis_seq
7509 - START WITH 1  
7510 INCREMENT BY 1 7502 INCREMENT BY 1
7511 NO MAXVALUE 7503 NO MAXVALUE
7512 MINVALUE 0 7504 MINVALUE 0
@@ -7517,7 +7509,7 @@ CREATE SEQUENCE sistema_idsis_seq @@ -7517,7 +7509,7 @@ CREATE SEQUENCE sistema_idsis_seq
7517 -- Name: sistema_idsis_seq; Type: SEQUENCE SET; Schema: acesso; Owner: - 7509 -- Name: sistema_idsis_seq; Type: SEQUENCE SET; Schema: acesso; Owner: -
7518 -- 7510 --
7519 7511
7520 -SELECT pg_catalog.setval('sistema_idsis_seq', 1, false); 7512 +SELECT pg_catalog.setval('sistema_idsis_seq', 17, true);
7521 7513
7522 7514
7523 -- 7515 --
@@ -7539,7 +7531,7 @@ CREATE TABLE sistema ( @@ -7539,7 +7531,7 @@ CREATE TABLE sistema (
7539 -- 7531 --
7540 7532
7541 CREATE TABLE usuario ( 7533 CREATE TABLE usuario (
7542 - "login" character varying(16) NOT NULL, 7534 + login character varying(16) NOT NULL,
7543 idpes numeric(8,0) NOT NULL, 7535 idpes numeric(8,0) NOT NULL,
7544 idpes_sga numeric(8,0), 7536 idpes_sga numeric(8,0),
7545 senha character varying(60) NOT NULL, 7537 senha character varying(60) NOT NULL,
@@ -7566,7 +7558,7 @@ CREATE TABLE usuario ( @@ -7566,7 +7558,7 @@ CREATE TABLE usuario (
7566 7558
7567 CREATE TABLE usuario_grupo ( 7559 CREATE TABLE usuario_grupo (
7568 idgrp integer NOT NULL, 7560 idgrp integer NOT NULL,
7569 - "login" character varying(16) NOT NULL 7561 + login character varying(16) NOT NULL
7570 ); 7562 );
7571 7563
7572 7564
@@ -7848,7 +7840,7 @@ CREATE TABLE contrato ( @@ -7848,7 +7840,7 @@ CREATE TABLE contrato (
7848 idcon integer DEFAULT nextval('contrato_idcon_seq'::regclass) NOT NULL, 7840 idcon integer DEFAULT nextval('contrato_idcon_seq'::regclass) NOT NULL,
7849 codigo character varying(20) NOT NULL, 7841 codigo character varying(20) NOT NULL,
7850 idcli character varying(10) NOT NULL, 7842 idcli character varying(10) NOT NULL,
7851 - "login" character varying(80) NOT NULL, 7843 + login character varying(80) NOT NULL,
7852 num_aditivo integer NOT NULL, 7844 num_aditivo integer NOT NULL,
7853 idfor integer NOT NULL, 7845 idfor integer NOT NULL,
7854 dt_vigencia date NOT NULL, 7846 dt_vigencia date NOT NULL,
@@ -8231,7 +8223,7 @@ SELECT pg_catalog.setval(&#39;log_guia_remessa_idlogguia_seq&#39;, 1, false); @@ -8231,7 +8223,7 @@ SELECT pg_catalog.setval(&#39;log_guia_remessa_idlogguia_seq&#39;, 1, false);
8231 8223
8232 CREATE TABLE log_guia_remessa ( 8224 CREATE TABLE log_guia_remessa (
8233 idlogguia integer DEFAULT nextval('log_guia_remessa_idlogguia_seq'::regclass) NOT NULL, 8225 idlogguia integer DEFAULT nextval('log_guia_remessa_idlogguia_seq'::regclass) NOT NULL,
8234 - "login" character varying(80) NOT NULL, 8226 + login character varying(80) NOT NULL,
8235 idcli character varying(10) NOT NULL, 8227 idcli character varying(10) NOT NULL,
8236 dt_inicial date NOT NULL, 8228 dt_inicial date NOT NULL,
8237 dt_final date NOT NULL, 8229 dt_final date NOT NULL,
@@ -10471,7 +10463,7 @@ CREATE TABLE acontecimento ( @@ -10471,7 +10463,7 @@ CREATE TABLE acontecimento (
10471 data_cadastro timestamp without time zone NOT NULL, 10463 data_cadastro timestamp without time zone NOT NULL,
10472 data_exclusao timestamp without time zone, 10464 data_exclusao timestamp without time zone,
10473 ativo smallint DEFAULT (1)::smallint, 10465 ativo smallint DEFAULT (1)::smallint,
10474 - "local" character varying, 10466 + local character varying,
10475 contato character varying, 10467 contato character varying,
10476 link character varying 10468 link character varying
10477 ); 10469 );
@@ -10623,7 +10615,6 @@ CREATE TABLE itinerario ( @@ -10623,7 +10615,6 @@ CREATE TABLE itinerario (
10623 -- 10615 --
10624 10616
10625 CREATE SEQUENCE menu_cod_menu_seq 10617 CREATE SEQUENCE menu_cod_menu_seq
10626 - START WITH 1  
10627 INCREMENT BY 1 10618 INCREMENT BY 1
10628 NO MAXVALUE 10619 NO MAXVALUE
10629 MINVALUE 0 10620 MINVALUE 0
@@ -10634,7 +10625,7 @@ CREATE SEQUENCE menu_cod_menu_seq @@ -10634,7 +10625,7 @@ CREATE SEQUENCE menu_cod_menu_seq
10634 -- Name: menu_cod_menu_seq; Type: SEQUENCE SET; Schema: pmicontrolesis; Owner: - 10625 -- Name: menu_cod_menu_seq; Type: SEQUENCE SET; Schema: pmicontrolesis; Owner: -
10635 -- 10626 --
10636 10627
10637 -SELECT pg_catalog.setval('menu_cod_menu_seq', 1, false); 10628 +SELECT pg_catalog.setval('menu_cod_menu_seq', 20709, true);
10638 10629
10639 10630
10640 -- 10631 --
@@ -10954,7 +10945,6 @@ CREATE TABLE topo_portal ( @@ -10954,7 +10945,6 @@ CREATE TABLE topo_portal (
10954 -- 10945 --
10955 10946
10956 CREATE SEQUENCE tutormenu_cod_tutormenu_seq 10947 CREATE SEQUENCE tutormenu_cod_tutormenu_seq
10957 - START WITH 1  
10958 INCREMENT BY 1 10948 INCREMENT BY 1
10959 NO MAXVALUE 10949 NO MAXVALUE
10960 MINVALUE 0 10950 MINVALUE 0
@@ -10965,7 +10955,7 @@ CREATE SEQUENCE tutormenu_cod_tutormenu_seq @@ -10965,7 +10955,7 @@ CREATE SEQUENCE tutormenu_cod_tutormenu_seq
10965 -- Name: tutormenu_cod_tutormenu_seq; Type: SEQUENCE SET; Schema: pmicontrolesis; Owner: - 10955 -- Name: tutormenu_cod_tutormenu_seq; Type: SEQUENCE SET; Schema: pmicontrolesis; Owner: -
10966 -- 10956 --
10967 10957
10968 -SELECT pg_catalog.setval('tutormenu_cod_tutormenu_seq', 1, false); 10958 +SELECT pg_catalog.setval('tutormenu_cod_tutormenu_seq', 16, true);
10969 10959
10970 10960
10971 -- 10961 --
@@ -11800,7 +11790,7 @@ CREATE TABLE cliente ( @@ -11800,7 +11790,7 @@ CREATE TABLE cliente (
11800 ref_usuario_exc integer, 11790 ref_usuario_exc integer,
11801 ref_usuario_cad integer NOT NULL, 11791 ref_usuario_cad integer NOT NULL,
11802 ref_idpes integer NOT NULL, 11792 ref_idpes integer NOT NULL,
11803 - "login" integer, 11793 + login integer,
11804 senha character varying(255), 11794 senha character varying(255),
11805 data_cadastro timestamp without time zone NOT NULL, 11795 data_cadastro timestamp without time zone NOT NULL,
11806 data_exclusao timestamp without time zone, 11796 data_exclusao timestamp without time zone,
@@ -12861,7 +12851,6 @@ CREATE TABLE infra_predio_comodo ( @@ -12861,7 +12851,6 @@ CREATE TABLE infra_predio_comodo (
12861 -- 12851 --
12862 12852
12863 CREATE SEQUENCE instituicao_cod_instituicao_seq 12853 CREATE SEQUENCE instituicao_cod_instituicao_seq
12864 - START WITH 1  
12865 INCREMENT BY 1 12854 INCREMENT BY 1
12866 NO MAXVALUE 12855 NO MAXVALUE
12867 MINVALUE 0 12856 MINVALUE 0
@@ -12872,7 +12861,7 @@ CREATE SEQUENCE instituicao_cod_instituicao_seq @@ -12872,7 +12861,7 @@ CREATE SEQUENCE instituicao_cod_instituicao_seq
12872 -- Name: instituicao_cod_instituicao_seq; Type: SEQUENCE SET; Schema: pmieducar; Owner: - 12861 -- Name: instituicao_cod_instituicao_seq; Type: SEQUENCE SET; Schema: pmieducar; Owner: -
12873 -- 12862 --
12874 12863
12875 -SELECT pg_catalog.setval('instituicao_cod_instituicao_seq', 1, false); 12864 +SELECT pg_catalog.setval('instituicao_cod_instituicao_seq', 1, true);
12876 12865
12877 12866
12878 -- 12867 --
@@ -14241,7 +14230,6 @@ CREATE TABLE tipo_regime ( @@ -14241,7 +14230,6 @@ CREATE TABLE tipo_regime (
14241 -- 14230 --
14242 14231
14243 CREATE SEQUENCE tipo_usuario_cod_tipo_usuario_seq 14232 CREATE SEQUENCE tipo_usuario_cod_tipo_usuario_seq
14244 - START WITH 1  
14245 INCREMENT BY 1 14233 INCREMENT BY 1
14246 NO MAXVALUE 14234 NO MAXVALUE
14247 MINVALUE 0 14235 MINVALUE 0
@@ -14252,7 +14240,7 @@ CREATE SEQUENCE tipo_usuario_cod_tipo_usuario_seq @@ -14252,7 +14240,7 @@ CREATE SEQUENCE tipo_usuario_cod_tipo_usuario_seq
14252 -- Name: tipo_usuario_cod_tipo_usuario_seq; Type: SEQUENCE SET; Schema: pmieducar; Owner: - 14240 -- Name: tipo_usuario_cod_tipo_usuario_seq; Type: SEQUENCE SET; Schema: pmieducar; Owner: -
14253 -- 14241 --
14254 14242
14255 -SELECT pg_catalog.setval('tipo_usuario_cod_tipo_usuario_seq', 1, false); 14243 +SELECT pg_catalog.setval('tipo_usuario_cod_tipo_usuario_seq', 3, true);
14256 14244
14257 14245
14258 -- 14246 --
@@ -15224,7 +15212,7 @@ CREATE SEQUENCE imagem_cod_imagem_seq @@ -15224,7 +15212,7 @@ CREATE SEQUENCE imagem_cod_imagem_seq
15224 -- Name: imagem_cod_imagem_seq; Type: SEQUENCE SET; Schema: portal; Owner: - 15212 -- Name: imagem_cod_imagem_seq; Type: SEQUENCE SET; Schema: portal; Owner: -
15225 -- 15213 --
15226 15214
15227 -SELECT pg_catalog.setval('imagem_cod_imagem_seq', 180, true); 15215 +SELECT pg_catalog.setval('imagem_cod_imagem_seq', 186, true);
15228 15216
15229 15217
15230 -- 15218 --
@@ -15251,7 +15239,6 @@ CREATE TABLE imagem ( @@ -15251,7 +15239,6 @@ CREATE TABLE imagem (
15251 -- 15239 --
15252 15240
15253 CREATE SEQUENCE imagem_tipo_cod_imagem_tipo_seq 15241 CREATE SEQUENCE imagem_tipo_cod_imagem_tipo_seq
15254 - START WITH 1  
15255 INCREMENT BY 1 15242 INCREMENT BY 1
15256 NO MAXVALUE 15243 NO MAXVALUE
15257 MINVALUE 0 15244 MINVALUE 0
@@ -15262,7 +15249,7 @@ CREATE SEQUENCE imagem_tipo_cod_imagem_tipo_seq @@ -15262,7 +15249,7 @@ CREATE SEQUENCE imagem_tipo_cod_imagem_tipo_seq
15262 -- Name: imagem_tipo_cod_imagem_tipo_seq; Type: SEQUENCE SET; Schema: portal; Owner: - 15249 -- Name: imagem_tipo_cod_imagem_tipo_seq; Type: SEQUENCE SET; Schema: portal; Owner: -
15263 -- 15250 --
15264 15251
15265 -SELECT pg_catalog.setval('imagem_tipo_cod_imagem_tipo_seq', 1, false); 15252 +SELECT pg_catalog.setval('imagem_tipo_cod_imagem_tipo_seq', 6, true);
15266 15253
15267 15254
15268 -- 15255 --
@@ -15538,7 +15525,6 @@ CREATE TABLE menu_funcionario ( @@ -15538,7 +15525,6 @@ CREATE TABLE menu_funcionario (
15538 -- 15525 --
15539 15526
15540 CREATE SEQUENCE menu_menu_cod_menu_menu_seq 15527 CREATE SEQUENCE menu_menu_cod_menu_menu_seq
15541 - START WITH 1  
15542 INCREMENT BY 1 15528 INCREMENT BY 1
15543 NO MAXVALUE 15529 NO MAXVALUE
15544 MINVALUE 0 15530 MINVALUE 0
@@ -15549,7 +15535,7 @@ CREATE SEQUENCE menu_menu_cod_menu_menu_seq @@ -15549,7 +15535,7 @@ CREATE SEQUENCE menu_menu_cod_menu_menu_seq
15549 -- Name: menu_menu_cod_menu_menu_seq; Type: SEQUENCE SET; Schema: portal; Owner: - 15535 -- Name: menu_menu_cod_menu_menu_seq; Type: SEQUENCE SET; Schema: portal; Owner: -
15550 -- 15536 --
15551 15537
15552 -SELECT pg_catalog.setval('menu_menu_cod_menu_menu_seq', 1, false); 15538 +SELECT pg_catalog.setval('menu_menu_cod_menu_menu_seq', 68, true);
15553 15539
15554 15540
15555 -- 15541 --
@@ -15569,7 +15555,6 @@ CREATE TABLE menu_menu ( @@ -15569,7 +15555,6 @@ CREATE TABLE menu_menu (
15569 -- 15555 --
15570 15556
15571 CREATE SEQUENCE menu_submenu_cod_menu_submenu_seq 15557 CREATE SEQUENCE menu_submenu_cod_menu_submenu_seq
15572 - START WITH 1  
15573 INCREMENT BY 1 15558 INCREMENT BY 1
15574 NO MAXVALUE 15559 NO MAXVALUE
15575 MINVALUE 0 15560 MINVALUE 0
@@ -15580,7 +15565,7 @@ CREATE SEQUENCE menu_submenu_cod_menu_submenu_seq @@ -15580,7 +15565,7 @@ CREATE SEQUENCE menu_submenu_cod_menu_submenu_seq
15580 -- Name: menu_submenu_cod_menu_submenu_seq; Type: SEQUENCE SET; Schema: portal; Owner: - 15565 -- Name: menu_submenu_cod_menu_submenu_seq; Type: SEQUENCE SET; Schema: portal; Owner: -
15581 -- 15566 --
15582 15567
15583 -SELECT pg_catalog.setval('menu_submenu_cod_menu_submenu_seq', 1, false); 15568 +SELECT pg_catalog.setval('menu_submenu_cod_menu_submenu_seq', 944, true);
15584 15569
15585 15570
15586 -- 15571 --
@@ -15934,7 +15919,7 @@ CREATE TABLE sistema ( @@ -15934,7 +15919,7 @@ CREATE TABLE sistema (
15934 cod_sistema integer DEFAULT nextval('sistema_cod_sistema_seq'::regclass) NOT NULL, 15919 cod_sistema integer DEFAULT nextval('sistema_cod_sistema_seq'::regclass) NOT NULL,
15935 nome character varying(255), 15920 nome character varying(255),
15936 versao smallint NOT NULL, 15921 versao smallint NOT NULL,
15937 - "release" smallint NOT NULL, 15922 + release smallint NOT NULL,
15938 patch smallint NOT NULL, 15923 patch smallint NOT NULL,
15939 tipo character varying(255) 15924 tipo character varying(255)
15940 ); 15925 );
@@ -19129,6 +19114,7 @@ SET search_path = public, pg_catalog; @@ -19129,6 +19114,7 @@ SET search_path = public, pg_catalog;
19129 19114
19130 INSERT INTO changelog VALUES (2, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '2_popula_dados_basicos.sql'); 19115 INSERT INTO changelog VALUES (2, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '2_popula_dados_basicos.sql');
19131 INSERT INTO changelog VALUES (1, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '1_cria_schema_inicial.sql'); 19116 INSERT INTO changelog VALUES (1, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '1_cria_schema_inicial.sql');
  19117 +INSERT INTO changelog VALUES (3, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '3_corrige_sequences.sql');
19132 19118
19133 19119
19134 -- 19120 --
@@ -25323,7 +25309,7 @@ ALTER TABLE ONLY grupo_sistema @@ -25323,7 +25309,7 @@ ALTER TABLE ONLY grupo_sistema
25323 -- 25309 --
25324 25310
25325 ALTER TABLE ONLY historico_senha 25311 ALTER TABLE ONLY historico_senha
25326 - ADD CONSTRAINT pk_historico_senha PRIMARY KEY ("login", senha); 25312 + ADD CONSTRAINT pk_historico_senha PRIMARY KEY (login, senha);
25327 25313
25328 25314
25329 -- 25315 --
@@ -25379,7 +25365,7 @@ ALTER TABLE ONLY sistema @@ -25379,7 +25365,7 @@ ALTER TABLE ONLY sistema
25379 -- 25365 --
25380 25366
25381 ALTER TABLE ONLY usuario 25367 ALTER TABLE ONLY usuario
25382 - ADD CONSTRAINT pk_usuario PRIMARY KEY ("login"); 25368 + ADD CONSTRAINT pk_usuario PRIMARY KEY (login);
25383 25369
25384 25370
25385 -- 25371 --
@@ -25387,7 +25373,7 @@ ALTER TABLE ONLY usuario @@ -25387,7 +25373,7 @@ ALTER TABLE ONLY usuario
25387 -- 25373 --
25388 25374
25389 ALTER TABLE ONLY usuario_grupo 25375 ALTER TABLE ONLY usuario_grupo
25390 - ADD CONSTRAINT pk_usuario_grupo PRIMARY KEY (idgrp, "login"); 25376 + ADD CONSTRAINT pk_usuario_grupo PRIMARY KEY (idgrp, login);
25391 25377
25392 25378
25393 SET search_path = alimentos, pg_catalog; 25379 SET search_path = alimentos, pg_catalog;
@@ -26417,7 +26403,7 @@ ALTER TABLE ONLY categoria_nivel @@ -26417,7 +26403,7 @@ ALTER TABLE ONLY categoria_nivel
26417 -- 26403 --
26418 26404
26419 ALTER TABLE ONLY cliente 26405 ALTER TABLE ONLY cliente
26420 - ADD CONSTRAINT cliente_login_ukey UNIQUE ("login"); 26406 + ADD CONSTRAINT cliente_login_ukey UNIQUE (login);
26421 26407
26422 26408
26423 -- 26409 --