[gitec] Re: Migrar SAPL 2.02 para 2.1

Luciano De Fázio luciano at camaracatanduva.sp.gov.br
Mon Aug 21 17:05:22 BRT 2006


Olá, Márcio.

Por aqui, estamos na luta. Espero que esteja tudo bem aí também.

Em Apucarana fizemos a migração na oportunidade da instalação dos 
equipamentos do PPM.

A migração manual é relativamente simples: basta portar os textos 
integrais do SAPL antigo e dotar sua base MySQL das melhorias do SAPL 2.1.

Estou compartilhando também com os colegas do Gitec, para quem possa 
necessitar da migração.

Bom, vou fazer um pequeno roteiro, que segue abaixo:

Antes de tudo, instale o SAPL 2.1 em outro servidor com sistema Ubuntu, 
que será futuramente seu servidor de produção. No seu caso, que 
utilizará o mesmo equipamentos, antes e além dos procedimentos abaixo, 
faça um backup completo do Data.fs e de sua base MySQL.


1 - COLETANDO OS DADOS DA VERSÃO 2.0.2

1.1) Para exportar os textos integrais das Normas Jurídicas, acesse a 
ZMI do SAPL 2.0.2, acesse a pasta /sapl/documentos, em seguida marque a 
pasta "norma_juridica" e clique no botão "Import / Export". Na tela que 
se seguirá, apenas aperte o botão "Export".

1.2) Para exportar os textos integrais das matérias legislativas, faça 
exatamente o mesmo procedimento para as normas jurídicas, porém 
selecionando a pasta "materia" em /sapl/documentos/.

Os  procedimentos anteriores gerarão os arquivos materia.zexp e 
norma_juridica.zexp dentro do diretório "var" de sua instância do SAPL 
2.0.2.

1.3) Gera uma cópia completa de seu MySQL: # mysqldump -u root -p 
interlegis > backup.sql


2 - MIGRANDO OS DADOS PARA A NOVA VERSÃO

Copie os arquivos gerados no passo anterior: os arquivos materia.zexp e 
norma_juridica.zexp devem ser copiados para o diretório "import" de sua 
instância Zope do SAPL 2.1 (sem esquecer de dar permissão para leitura 
de tais arquivos pelo usuário zope  - # sudo chown zope:zope *.zexp). O 
arquivo backup.sql deve ser copiado para o diretório /root de seu novo 
servidor.

2.1) Para inserir seus textos integrais no SAPL 2.1, através da ZMI, 
entre na pasta /sapl_documentos e renomeie as pastas materia e 
norma_juridica para materia_old e norma_juridica_old. Em seguida clique 
no botão "Import / Export" ; na combo "Import file name", selecione 
primeiramente materia.zexp e clique no botão "Import", depois 
norma_juridica.zexp e clique no botão "Import".

Se voltar em /sapl_documentos, você verá novamente as pastas "materia" e 
"norma_juridica" em seu Zope.


2.2)  No caso do MySQL, será necessário apagar a tabela de exemplo do 
SAPL 2.1, recriá-la manualmente em branco e, somente após isso, migrar 
os dados do arquivo backup.sql.

# mysqladmin -u root -p drop interlegis  (quando pedir a senha, tecle 
enter; clique em "y" para confirmar a exclusão do banco).

# mysqladmin -u root -p create interlegis

# mysql -u root -p interlegis < /root/backup.sql


2.3) Como houve algumas alterações em tabelas da base MySQL, será 
necessário implementá-las para que o banco do SAPL 2.0.2 funcione na 
versão 2.1.  Em resumo as alterações mais significativas e que influem 
no funcionamento do SAPL são na tabela proposicao e a criação de uma 
nova tabela chamada vinculo_norma_juridica:

Segue abaixo como deve ser a extrutura da tabela "proposicao" para o 
SAPL 2.1 (arquivo em anexo):

CREATE TABLE IF NOT EXISTS proposicao (
  cod_proposicao int(11) NOT NULL auto_increment,
  cod_autor int(11) NOT NULL default '0',
  tip_proposicao int(11) NOT NULL default '0',
  cod_materia int(11) default NULL,
  dat_envio date NOT NULL default '0000-00-00',
  dat_recebimento date default NULL,
  txt_descricao varchar(100) NOT NULL default '',
  cod_mat_ou_doc int(11) default NULL,
  ind_excluido tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (cod_proposicao)
) TYPE=ISAM PACK_KEYS=1;

IMPORTANTE: Se já estiver utilizando o módulo de Proposições na versão 
2.0.2, este procedimento não dever ser adotado

Salve o arquivo proposicao.sql (em anexo) no diretório /root de seu novo 
servidor.

Primeiramente, iremos apagar a tabela "proposicao" de sua base do MySQL.

# mysql -u root -p interlegis

mysql> DROP TABLE proposicao; (digite enter)

mysql> exit (enter)

Agora vamos criar novamente a tabela com a estrutura requerida:

# mysql -u root -p interlegis < /root/proposicao.sql


- Agora implementaremos o suporte ao vínculo das normas jurídicas na sua 
base MySQL:

# mysql -u root -p interlegis < 
/var/lib/zope2.8/instance/sapl/Products/ILSAPL/instalacao/db_9_01_vinculo_nj.sql


E PRONTO (UFA.....!!!)

Neste momento, se tudo correu bem, o SAPL 2.1 já deve estar funcionando 
com todos os dados da versão 2.0.2.

Em caso de qualquer dúvida, estamos à disposição. Boa sorte.

Abraços,


-- 
Luciano De Fázio
Coordenador de Informática e Tecnologia
Câmara Municipal de Catanduva - SP 




Marcio Vilas Boas escreveu:

> Grande Luciano!!
> Tudo bem por aí ?
>
> Eu e o Allan de Ouro Preto, estamos querendo migrar da 2.02 para 2.1 e 
> gostariamos que vc nos acompanhasse nesta tarefa. A situação dele é 
> parecida com a minha. Versão 2.02 rodando perfeito no conectiva10. 
> Datafs com +- 500MB.
> Vc pode nos orientar nisto, para que não façamos nenhuma besteira? Vou 
> deixar ele no mesmo servidor e terei que insalar o ubuntu nele.
> Vc pode nos passar um roteirinho pra as coisas fluirem bem?
>
> Aguardamos sua resposta e aquele abraço.
>
> O Ivan nos disse que vc o auxiliou na migração de lá.
>
> um abraço,
>
> Márcio Vilas Boas
> CM - Divinópolis - MG

-------------- next part --------------
CREATE TABLE IF NOT EXISTS proposicao (
  cod_proposicao int(11) NOT NULL auto_increment,
  cod_autor int(11) NOT NULL default '0',
  tip_proposicao int(11) NOT NULL default '0',
  cod_materia int(11) default NULL,
  dat_envio date NOT NULL default '0000-00-00',
  dat_recebimento date default NULL,
  txt_descricao varchar(100) NOT NULL default '',
  cod_mat_ou_doc int(11) default NULL,
  ind_excluido tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (cod_proposicao)
) TYPE=ISAM PACK_KEYS=1;


Mais detalhes sobre a lista de discussão Gitec