Commit 2af4bd94a2e426123c99cb027bb99d2c482dc50a
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
Showing
2 changed files
with
60 additions
and
36 deletions
Show diff stats
... | ... | @@ -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 | 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 | 89 | -- Name: urbano; Type: SCHEMA; Schema: -; Owner: - |
97 | 90 | -- |
98 | 91 | |
... | ... | @@ -7343,7 +7336,7 @@ CREATE TABLE grupo_sistema ( |
7343 | 7336 | -- |
7344 | 7337 | |
7345 | 7338 | CREATE TABLE historico_senha ( |
7346 | - "login" character varying(16) NOT NULL, | |
7339 | + login character varying(16) NOT NULL, | |
7347 | 7340 | senha character varying(60) NOT NULL, |
7348 | 7341 | data_cad timestamp without time zone NOT NULL |
7349 | 7342 | ); |
... | ... | @@ -7506,7 +7499,6 @@ CREATE TABLE pessoa_instituicao ( |
7506 | 7499 | -- |
7507 | 7500 | |
7508 | 7501 | CREATE SEQUENCE sistema_idsis_seq |
7509 | - START WITH 1 | |
7510 | 7502 | INCREMENT BY 1 |
7511 | 7503 | NO MAXVALUE |
7512 | 7504 | MINVALUE 0 |
... | ... | @@ -7517,7 +7509,7 @@ CREATE SEQUENCE sistema_idsis_seq |
7517 | 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 | 7531 | -- |
7540 | 7532 | |
7541 | 7533 | CREATE TABLE usuario ( |
7542 | - "login" character varying(16) NOT NULL, | |
7534 | + login character varying(16) NOT NULL, | |
7543 | 7535 | idpes numeric(8,0) NOT NULL, |
7544 | 7536 | idpes_sga numeric(8,0), |
7545 | 7537 | senha character varying(60) NOT NULL, |
... | ... | @@ -7566,7 +7558,7 @@ CREATE TABLE usuario ( |
7566 | 7558 | |
7567 | 7559 | CREATE TABLE usuario_grupo ( |
7568 | 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 | 7840 | idcon integer DEFAULT nextval('contrato_idcon_seq'::regclass) NOT NULL, |
7849 | 7841 | codigo character varying(20) NOT NULL, |
7850 | 7842 | idcli character varying(10) NOT NULL, |
7851 | - "login" character varying(80) NOT NULL, | |
7843 | + login character varying(80) NOT NULL, | |
7852 | 7844 | num_aditivo integer NOT NULL, |
7853 | 7845 | idfor integer NOT NULL, |
7854 | 7846 | dt_vigencia date NOT NULL, |
... | ... | @@ -8231,7 +8223,7 @@ SELECT pg_catalog.setval('log_guia_remessa_idlogguia_seq', 1, false); |
8231 | 8223 | |
8232 | 8224 | CREATE TABLE log_guia_remessa ( |
8233 | 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 | 8227 | idcli character varying(10) NOT NULL, |
8236 | 8228 | dt_inicial date NOT NULL, |
8237 | 8229 | dt_final date NOT NULL, |
... | ... | @@ -10471,7 +10463,7 @@ CREATE TABLE acontecimento ( |
10471 | 10463 | data_cadastro timestamp without time zone NOT NULL, |
10472 | 10464 | data_exclusao timestamp without time zone, |
10473 | 10465 | ativo smallint DEFAULT (1)::smallint, |
10474 | - "local" character varying, | |
10466 | + local character varying, | |
10475 | 10467 | contato character varying, |
10476 | 10468 | link character varying |
10477 | 10469 | ); |
... | ... | @@ -10623,7 +10615,6 @@ CREATE TABLE itinerario ( |
10623 | 10615 | -- |
10624 | 10616 | |
10625 | 10617 | CREATE SEQUENCE menu_cod_menu_seq |
10626 | - START WITH 1 | |
10627 | 10618 | INCREMENT BY 1 |
10628 | 10619 | NO MAXVALUE |
10629 | 10620 | MINVALUE 0 |
... | ... | @@ -10634,7 +10625,7 @@ CREATE SEQUENCE menu_cod_menu_seq |
10634 | 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 | 10945 | -- |
10955 | 10946 | |
10956 | 10947 | CREATE SEQUENCE tutormenu_cod_tutormenu_seq |
10957 | - START WITH 1 | |
10958 | 10948 | INCREMENT BY 1 |
10959 | 10949 | NO MAXVALUE |
10960 | 10950 | MINVALUE 0 |
... | ... | @@ -10965,7 +10955,7 @@ CREATE SEQUENCE tutormenu_cod_tutormenu_seq |
10965 | 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 | 11790 | ref_usuario_exc integer, |
11801 | 11791 | ref_usuario_cad integer NOT NULL, |
11802 | 11792 | ref_idpes integer NOT NULL, |
11803 | - "login" integer, | |
11793 | + login integer, | |
11804 | 11794 | senha character varying(255), |
11805 | 11795 | data_cadastro timestamp without time zone NOT NULL, |
11806 | 11796 | data_exclusao timestamp without time zone, |
... | ... | @@ -12861,7 +12851,6 @@ CREATE TABLE infra_predio_comodo ( |
12861 | 12851 | -- |
12862 | 12852 | |
12863 | 12853 | CREATE SEQUENCE instituicao_cod_instituicao_seq |
12864 | - START WITH 1 | |
12865 | 12854 | INCREMENT BY 1 |
12866 | 12855 | NO MAXVALUE |
12867 | 12856 | MINVALUE 0 |
... | ... | @@ -12872,7 +12861,7 @@ CREATE SEQUENCE instituicao_cod_instituicao_seq |
12872 | 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 | 14230 | -- |
14242 | 14231 | |
14243 | 14232 | CREATE SEQUENCE tipo_usuario_cod_tipo_usuario_seq |
14244 | - START WITH 1 | |
14245 | 14233 | INCREMENT BY 1 |
14246 | 14234 | NO MAXVALUE |
14247 | 14235 | MINVALUE 0 |
... | ... | @@ -14252,7 +14240,7 @@ CREATE SEQUENCE tipo_usuario_cod_tipo_usuario_seq |
14252 | 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 | 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 | 15239 | -- |
15252 | 15240 | |
15253 | 15241 | CREATE SEQUENCE imagem_tipo_cod_imagem_tipo_seq |
15254 | - START WITH 1 | |
15255 | 15242 | INCREMENT BY 1 |
15256 | 15243 | NO MAXVALUE |
15257 | 15244 | MINVALUE 0 |
... | ... | @@ -15262,7 +15249,7 @@ CREATE SEQUENCE imagem_tipo_cod_imagem_tipo_seq |
15262 | 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 | 15525 | -- |
15539 | 15526 | |
15540 | 15527 | CREATE SEQUENCE menu_menu_cod_menu_menu_seq |
15541 | - START WITH 1 | |
15542 | 15528 | INCREMENT BY 1 |
15543 | 15529 | NO MAXVALUE |
15544 | 15530 | MINVALUE 0 |
... | ... | @@ -15549,7 +15535,7 @@ CREATE SEQUENCE menu_menu_cod_menu_menu_seq |
15549 | 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 | 15555 | -- |
15570 | 15556 | |
15571 | 15557 | CREATE SEQUENCE menu_submenu_cod_menu_submenu_seq |
15572 | - START WITH 1 | |
15573 | 15558 | INCREMENT BY 1 |
15574 | 15559 | NO MAXVALUE |
15575 | 15560 | MINVALUE 0 |
... | ... | @@ -15580,7 +15565,7 @@ CREATE SEQUENCE menu_submenu_cod_menu_submenu_seq |
15580 | 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 | 15919 | cod_sistema integer DEFAULT nextval('sistema_cod_sistema_seq'::regclass) NOT NULL, |
15935 | 15920 | nome character varying(255), |
15936 | 15921 | versao smallint NOT NULL, |
15937 | - "release" smallint NOT NULL, | |
15922 | + release smallint NOT NULL, | |
15938 | 15923 | patch smallint NOT NULL, |
15939 | 15924 | tipo character varying(255) |
15940 | 15925 | ); |
... | ... | @@ -19129,6 +19114,7 @@ SET search_path = public, pg_catalog; |
19129 | 19114 | |
19130 | 19115 | INSERT INTO changelog VALUES (2, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '2_popula_dados_basicos.sql'); |
19131 | 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 | 25309 | -- |
25324 | 25310 | |
25325 | 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 | 25365 | -- |
25380 | 25366 | |
25381 | 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 | 25373 | -- |
25388 | 25374 | |
25389 | 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 | 25379 | SET search_path = alimentos, pg_catalog; |
... | ... | @@ -26417,7 +26403,7 @@ ALTER TABLE ONLY categoria_nivel |
26417 | 26403 | -- |
26418 | 26404 | |
26419 | 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 | -- | ... | ... |