[gitec] Excluir Ordem do dia

Luciano De Fazio lucianodefazio em gmail.com
Quarta Agosto 24 18:29:24 BRT 2011


Olá,

Estive olhando a ordem do dia de seu SAPL, pela URL
http://sapl.camaraadamantina.sp.gov.br/consultas/ordem_dia/ordem_dia_index_html

Essa é uma típica situação de quebra de integridade referencial no banco de
dados MySQL.

http://pt.wikipedia.org/wiki/Integridade_referencial

Explicando:

Existia uma referência a determinada matéria legislativa no seu cadastro de
ordem do dia. Posteriormente essa matéria foi excluída.

O objeto referenciado não existe mais, mas a referência em si ainda
persiste.

Procedimento recomendado de exclusão:

O ideal seria excluir primeiramente o registro da ordem do dia que faz
alusão a determinada matéria, para depois excluir a matéria propriamente
dita.

Para resolver essa situação, existem duas possibilidades.


1 - como nenhuma informação é apagada fisicamente do banco de dados MySQL do
SAPL, é possível "ressuscitar" a matéria excluída, para posteriormente
seguir a sequencia correta de exclusão. Para isso, é preciso identificar o
registro da matéria no banco de dados, com o comando SQL:

SELECT cod_materia,txt_ementa FROM materia_legislativa WHERE txt_ementa LIKE
'%EXPOVERDE%' AND ind_excluido = 1

O resultado deve exibir o código da matéria e sua ementa. Confirme se
realmente se trata da matéria excluída e anote o valor do campo
"cod_materia".

Em seguida, "ressuscite" a matéria com o comando:

UPDATE materia_legislativa SET ind_excluido = 0 WHERE cod_materia = 0000

Substiuir o valor 0000 pelo cod_materia resultante do primeiro comando.


2 - A outra opção seria apagar diretamente, na tabela de Ordem do Dia, o
vínculo sobrevivente relacionado à matéria excluída. Essa é, ao meu ver, a
forma mais simples de resolver seu problema.

Considerando que já temos um filtro possível, que é a data da Ordem do Dia,
e que nessa data existe apenas um registro, bastaria executar o comando:

delete from ordem_dia where dat_ordem = '2011/08/15'


FORMAS DE EXECUÇÃO DOS COMANDOS SQL.

Você pode executar os comandos SQL através do cliente MySQL, em seu sistema
operacional, acessível pelo comando:

$ mysql -uroot -p interlegis


Se seu SAPL estiver hospedado no Interlegis, é possível executar os comandos
através da ZMI. Basta acessar a URL:

http://sapl.camaraadamantina.sp.gov.br/dbcon_interlegis/manage_testForm

Informe login e senha do usuário administrador do Zope.


Depois de autenticado, se retornar a tela do SAPL, basta copiar/colar
novamente a URL no browser já autenticado.

Execute um comando por vez, colando os comandos na caixa de texto, e
pressionando o botão "Submit Query".

Para executar o comando seguinte, pressione a aba "Test".

Boa sorte.

Luciano De Fázio


Em 24 de agosto de 2011 16:00, Camara Municipal de adamantina <
cma_adtfinanceiro em yahoo.com.br> escreveu:

>
> Ola, boa tarde!
> Existe alguma forma de excluir algum item na ordem do dia pelo Zope, pq
> pelo Sapl não está dando certo, pois foi inserido um arquivo para testes e
> ele não é identificado como nenhum tipo de matéria legislativa (não consigo
> entrar no documento).
>
> --
> Site da Comunidade GITEC:
> http://colab.interlegis.gov.br/wiki
>
> Regras de participação:
> http://colab.interlegis.gov.br/wiki/ComoParticiparComunidade
>
> Para pesquisar o histórico da lista visite:
> http://colab.interlegis.gov.br/wiki/PesquisaListas
>
> Para administrar sua conta visite:
> http://listas.interlegis.gov.br/mailman/listinfo/gitec
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.interlegis.gov.br/pipermail/gitec/attachments/20110824/424afb83/attachment.htm 


Mais detalhes sobre a lista de discussão GITEC