Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[API] Conexão direta com Firebird para conversão do banco de dados #53

Open
edvaldoszy opened this issue Nov 14, 2024 · 2 comments
Open
Assignees

Comments

@edvaldoszy
Copy link
Contributor

Atualmente temos um script em Python que conecta em dois bancos de dados MySQL, onde um é uma cópia do banco de dados do Firebird, que é criada utilizando uma ferramenta paga em sua versão de testes e outro é a base de dados nova do sistema.

Nosso objetivo é não precisar mais desta ferramenta para conversão do banco, e conectar o script Python diretamente no banco de dados Firebird. Isso é possível com a biblioteca fdb.

Utilize a versão contida no branch development.

O script fica no diretório Conversao_banco_Python e utiliza Pipenv para gerenciamento das dependência.

@edvaldoszy edvaldoszy converted this from a draft issue Nov 14, 2024
@yuriBaza23
Copy link

Boa tarde @edvaldoszy, adicionei a conexão com o banco Firebird e fiz algumas alterações em algumas queries devido o uso de variáveis reservadas e o uso de aspas simples/duplas.

Consegui chegar a esse resultado a partir de algumas simulações com um banco Firebird que criei na minha máquina.

Assim que tiver feito o restore do banco original a partir do arquivo .fbk, vou conseguir ter resultados mais assertivos. As alterações estão na branch feat_conversao_db

@yuriBaza23 yuriBaza23 moved this from to do to doing in HCF Web Dec 3, 2024
@yuriBaza23
Copy link

Boa noite @edvaldoszy e @ipolato, vou fazer uma pequena síntese do que foi feito no arquivo conversao.py.

  • Primeiramente adicionei mais logs para conseguirmos identificar as etapas mais facilmente.
  • Algumas queries precisaram ser modificadas devido a troca da conexão MySQL para o Firebird. Após essas alterações, as queries puderam acessar corretamente o Firebird e migrar os dados para o MySQL.
  • Os caminhos foram adaptados para o que estava dentro do container firebird, já que não foi possível executar na minha máquina sem o auxilio do Docker. Gostaria que eu voltasse para os caminhos da versão passada?

Sobre o arquivo de backup:
Na versão passada tivemos alguns problemas relacionados as datas de identificação dos tombos e coordenadas. Abaixo há um print dos erros que aconteciam:
Screenshot 2024-12-21 at 18 20 51
Após a utilização do novo arquivo de backup, usei o isql do Firebird para verificar os tombos que estavam com problema.
Screenshot 2024-12-21 at 18 49 02
Como as datas dos tombos 11197, 38416 e 38802 estavam acusando erro, fiz o update no Firebird para as datas 18/01/2024, 15/V/2024 e 01/10/2024.
O script, após essas mudanças de data conseguiu terminar a conversão, embora os tombos da imagem abaixo estejam com coordenadas de formato inesperado.
Screenshot 2024-12-21 at 19 52 28

Segue a imagem da finalização do script:
Screenshot 2024-12-21 at 19 52 43

As mudanças constam na branch feat_conversao_db.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: doing
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants