Migração SAPL 2.3 para 2.4
-
Marco Aurélio Gonçalves da Silva
Feb. 24, 2012, 1:25 p.m.Olá,
Estou fazendo aqui os últimos passos do roteiro para a migração do SAPL 2.3
para o 2.4 até que me deparei com um problema.
No passo:
$ mysql -u root -p interlegis <
/var/interlegis/SAPL-2.4/instances/sapl24/Products/ILSAPL/instalacao/sapl_migracao_banco.sql
ocorreu o erro "ERROR 1060 (42S21): Duplicate column name 'txt_biografia'"
Foi justo no último comando do script de migração sapl_migracao_banco.sql
que era:
ALTER TABLE `parlamentar`
ADD COLUMN `txt_biografia` TEXT AFTER `ind_ativo`;
Imagino que isso acrescentaria a coluna "txt_biografia" logo depois da
"ind_ativo".
Atualmente a "txt_biografia" que já existia na tabela "parlamentar" e é a
última coluna.
Pelo que sei não dá pra ficar com ordem diferente porque as querys são
feitas contando com uma ordem fixa.
Como faço pra mudar a ordem da coluna? (imagino que seja a solução)
--
Marco Aurélio Gonçalves da Silva
Bacharel em Ciência da Computação - UFJF
Analista de Sistemas da Câmara Municipal de Timóteo -
Feb. 24, 2012, 1:32 p.m.Marco Aurélio,
Se você olhar o conteúdo do script sapl_migracao_banco.sql, notará que a
inserção da coluna txt_biografia é a última query nele contida.
Dessa forma, todas as outras querys já foram executadas, compatibilizando a
estrutura de seu banco MySQL com a versão 2.4.
A ordem das colunas em sua tabela não altera o funcionamento do sistema.
Se não ocorrer é porque está tudo certo.
Abs.
Luciano De Fázio
Em 24 de fevereiro de 2012 11:25, Marco Aurélio Gonçalves da Silva <
marcoc2@gmail.com> escreveu:> Olá,
>
> Estou fazendo aqui os últimos passos do roteiro para a migração do SAPL
> 2.3 para o 2.4 até que me deparei com um problema.
> No passo:
>
> $ mysql -u root -p interlegis <
> /var/interlegis/SAPL-2.4/instances/sapl24/Products/ILSAPL/instalacao/sapl_migracao_banco.sql
>
> ocorreu o erro "ERROR 1060 (42S21): Duplicate column name 'txt_biografia'"
>
> Foi justo no último comando do script de migração sapl_migracao_banco.sql
> que era:
>
> ALTER TABLE `parlamentar`
> ADD COLUMN `txt_biografia` TEXT AFTER `ind_ativo`;
>
> Imagino que isso acrescentaria a coluna "txt_biografia" logo depois da
> "ind_ativo".
> Atualmente a "txt_biografia" que já existia na tabela "parlamentar" e é a
> última coluna.
> Pelo que sei não dá pra ficar com ordem diferente porque as querys são
> feitas contando com uma ordem fixa.
>
> Como faço pra mudar a ordem da coluna? (imagino que seja a solução)
>
> --
> Marco Aurélio Gonçalves da Silva
> Bacharel em Ciência da Computação - UFJF
> Analista de Sistemas da Câmara Municipal de Timóteo
>
>
> --
> 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
>
--Luciano De Fázio -
Marco Aurélio Gonçalves da Silva
Feb. 24, 2012, 1:41 p.m.Luciano,
mas quando houver inserção, do tipo
INSERT INTO `parlamentar` VALUES(A, B, C),
o banco de dados não espera que a ordem esteja de acordo como foi planejado?
Desculpe se estiver falando besteira, estou enferrujado com SQL, mas vi
inserts desse tipo nos scripts e imaginei que poderia ocorrer o problema. -
Feb. 24, 2012, 1:49 p.m.Marco Aurélio,As inserções de dados no SAPL são realizadas através do mapeamento das
colunas. Veja o script de inclusão de novo parlamentar:
INSERT INTO parlamentar
(nom_completo,
nom_parlamentar,
num_cpf,
ind_excluido,
sex_parlamentar,
dat_nascimento,
num_rg,
num_tit_eleitor,
tip_situacao_militar,
cod_nivel_instrucao,
num_tel_parlamentar,
num_fax_parlamentar,
num_gab_parlamentar,
cod_casa,
end_residencial,
cod_localidade_resid,
num_cep_resid,
num_tel_resid,
num_fax_resid,
end_web,
nom_profissao,
end_email,
des_local_atuacao,
txt_biografia,
ind_ativo )VALUES( ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
)
Assim, não importa a ordem das colunas na tabela.
[]'sLuciano De FázioEm 24 de fevereiro de 2012 11:41, Marco Aurélio Gonçalves da Silva <marcoc2@gmail.com> escreveu:
> Luciano,
>
> mas quando houver inserção, do tipo
>
> INSERT INTO `parlamentar` VALUES(A, B, C),
>
> o banco de dados não espera que a ordem esteja de acordo como foi
> planejado?
>
> Desculpe se estiver falando besteira, estou enferrujado com SQL, mas vi
> inserts desse tipo nos scripts e imaginei que poderia ocorrer o problema.
>
> --
> 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
>
--
Luciano De Fázio -
Marco Aurélio Gonçalves da Silva
Feb. 24, 2012, 1:52 p.m.Ah sim, eu imaginei que as inserções fossem assim mesmo.
Parece que o estilo de inserção que descrevi é só nos scripts do mysqldump
então.
Obrigado, Luciano.