mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
5.6 KiB
144 lines
5.6 KiB
-- Apaga as restrições somente para essa sessão
|
|
SELECT replace(@@sql_mode,'STRICT_TRANS_TABLES,','ALLOW_INVALID_DATES');
|
|
|
|
-- Exclui procedures caso já existam
|
|
DROP PROCEDURE IF EXISTS verifica_campos_proposicao;
|
|
DROP PROCEDURE IF EXISTS verifica_campos_tipo_materia_legislativa;
|
|
DROP PROCEDURE IF EXISTS verifica_campos_sessao_plenaria_presenca;
|
|
DROP PROCEDURE IF EXISTS cria_lexml_registro_provedor_e_publicador;
|
|
DROP PROCEDURE IF EXISTS cria_tipo_situacao_militar;
|
|
DROP PROCEDURE IF EXISTS muda_vinculo_norma_juridica_ind_excluido;
|
|
DROP PROCEDURE IF EXISTS muda_unidade_tramitacao_cod_parlamentar;
|
|
|
|
-- Procedure para criar campo num_proposicao em proposicao
|
|
CREATE PROCEDURE verifica_campos_proposicao() BEGIN IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='proposicao'
|
|
AND COLUMN_NAME='num_proposicao') THEN
|
|
UPDATE proposicao
|
|
SET dat_envio = '1800-01-01'
|
|
WHERE cast(dat_envio AS char(20)) = '0000-00-00 00:00:00';
|
|
ALTER TABLE proposicao ADD COLUMN num_proposicao int(11) NULL AFTER txt_justif_devolucao;
|
|
END IF; END;
|
|
|
|
-- Procedure para criar campo iind_num_automatica em tipo_materia_legislativa
|
|
CREATE PROCEDURE verifica_campos_tipo_materia_legislativa()
|
|
BEGIN IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='tipo_materia_legislativa'
|
|
AND COLUMN_NAME='ind_num_automatica') THEN
|
|
ALTER TABLE tipo_materia_legislativa ADD COLUMN ind_num_automatica BOOLEAN NULL DEFAULT FALSE AFTER des_tipo_materia;
|
|
END IF;
|
|
IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='tipo_materia_legislativa'
|
|
AND COLUMN_NAME='quorum_minimo_votacao') THEN
|
|
ALTER TABLE tipo_materia_legislativa ADD COLUMN quorum_minimo_votacao int(11) NULL AFTER ind_num_automatica;
|
|
END IF; END;
|
|
|
|
-- Procedure para criar campos cod_presenca_sessao (sendo a nova PK da tabela) e dat_sessao em sessao_plenaria_presenca
|
|
CREATE PROCEDURE verifica_campos_sessao_plenaria_presenca() BEGIN IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='sessao_plenaria_presenca'
|
|
AND COLUMN_NAME='cod_presenca_sessao') THEN
|
|
ALTER TABLE sessao_plenaria_presenca
|
|
DROP PRIMARY KEY,
|
|
ADD cod_presenca_sessao INT auto_increment PRIMARY KEY FIRST;
|
|
END IF;
|
|
IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='sessao_plenaria_presenca'
|
|
AND COLUMN_NAME='dat_sessao') THEN
|
|
ALTER TABLE sessao_plenaria_presenca ADD COLUMN dat_sessao DATE NULL AFTER cod_parlamentar;
|
|
END IF; END;
|
|
|
|
|
|
-- Procedure para criar tabela lexml_registro_provedor e lexml_registro_publicador
|
|
CREATE PROCEDURE cria_lexml_registro_provedor_e_publicador()
|
|
BEGIN IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='lexml_registro_publicador') THEN
|
|
CREATE TABLE lexml_registro_publicador (
|
|
cod_publicador INT auto_increment NOT NULL,
|
|
id_publicador INT, nom_publicador varchar(255),
|
|
adm_email varchar(50),
|
|
sigla varchar(255),
|
|
nom_responsavel varchar(255),
|
|
tipo varchar(50),
|
|
id_responsavel INT, PRIMARY KEY (cod_publicador));
|
|
END IF;
|
|
IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='lexml_registro_provedor') THEN
|
|
CREATE TABLE lexml_registro_provedor (
|
|
cod_provedor INT auto_increment NOT NULL,
|
|
id_provedor INT, nom_provedor varchar(255),
|
|
sgl_provedor varchar(15),
|
|
adm_email varchar(50),
|
|
nom_responsavel varchar(255),
|
|
tipo varchar(50),
|
|
id_responsavel INT, xml_provedor longtext,
|
|
PRIMARY KEY (cod_provedor));
|
|
END IF; END;
|
|
|
|
-- Procedure para criar tabela tipo_situacao_militar
|
|
CREATE PROCEDURE cria_tipo_situacao_militar() BEGIN IF NOT EXISTS
|
|
(SELECT *
|
|
FROM information_schema.columns
|
|
WHERE table_schema=database()
|
|
AND TABLE_NAME='tipo_situacao_militar') THEN
|
|
CREATE TABLE tipo_situacao_militar (
|
|
tip_situacao_militar INT auto_increment NOT NULL,
|
|
des_tipo_situacao varchar(50),
|
|
ind_excluido INT, PRIMARY KEY (tip_situacao_militar));
|
|
END IF; END;
|
|
|
|
-- Procedure para mudar valor do campo ind_excluido da tabela vinculo_norma_juridica de 0 para string vazia ''
|
|
CREATE PROCEDURE muda_vinculo_norma_juridica_ind_excluido() BEGIN
|
|
UPDATE vinculo_norma_juridica
|
|
SET ind_excluido = ''
|
|
WHERE trim(ind_excluido) = '0';
|
|
END;
|
|
|
|
-- Procedure para mudar valor do campo cod_parlamentar da tabela unidade_tramitacao de 0 para string vazia NULL
|
|
CREATE PROCEDURE muda_unidade_tramitacao_cod_parlamentar() BEGIN
|
|
UPDATE unidade_tramitacao
|
|
SET cod_parlamentar = NULL
|
|
WHERE cod_parlamentar = 0;
|
|
END;
|
|
|
|
-- Executa as procedures criadas acima
|
|
CALL verifica_campos_proposicao;
|
|
CALL verifica_campos_tipo_materia_legislativa;
|
|
CALL verifica_campos_sessao_plenaria_presenca;
|
|
CALL cria_lexml_registro_provedor_e_publicador;
|
|
CALL cria_tipo_situacao_militar;
|
|
CALL muda_vinculo_norma_juridica_ind_excluido;
|
|
CALL muda_unidade_tramitacao_cod_parlamentar;
|
|
|
|
-- Corrige cod_parlamentar zero em unidade de tramitação
|
|
update unidade_tramitacao set cod_parlamentar = NULL where cod_parlamentar = 0;
|
|
|
|
-- Corrige cod_nivel_instrucao e tip_situacao_militar zero em parlamentar
|
|
update parlamentar set cod_nivel_instrucao = NULL where cod_nivel_instrucao = 0;
|
|
update parlamentar set tip_situacao_militar = NULL where tip_situacao_militar = 0;
|
|
|
|
-- Corrige tip_afastamento zero em mandato
|
|
update mandato set tip_afastamento = NULL where tip_afastamento = 0;
|
|
|
|
-- Corrige tip_fim_relatoria zero em relatoria
|
|
update relatoria set tip_fim_relatoria = NULL where tip_fim_relatoria = 0;
|
|
|