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 | -- | ... | ... |