feat(): Feito a inserção do schema do banco de dados firebird
This commit is contained in:
parent
2684503f81
commit
198c979da2
1 changed files with 38 additions and 2 deletions
|
|
@ -3,9 +3,11 @@ import fdb
|
|||
from fastapi import HTTPException
|
||||
from pathlib import Path
|
||||
from typing import List, Dict, Any
|
||||
from abstracts.repository import BaseRepository
|
||||
import json
|
||||
|
||||
|
||||
class FirebirdSchemaExtractor:
|
||||
class FirebirdSchemaExtractor(BaseRepository):
|
||||
"""
|
||||
Classe responsável por extrair toda a estrutura de um banco Firebird 4.
|
||||
"""
|
||||
|
|
@ -174,7 +176,13 @@ class FirebirdSchemaExtractor:
|
|||
|
||||
# -------------------- ESTRUTURA COMPLETA --------------------
|
||||
def extract_all(self):
|
||||
return {
|
||||
"""
|
||||
Extrai toda a estrutura do banco Firebird e salva o resultado
|
||||
no banco MySQL antes de retornar.
|
||||
"""
|
||||
|
||||
# 1. Extrai tudo do Firebird
|
||||
data = {
|
||||
"tables": self.get_tables(),
|
||||
"primary_keys": self.get_primary_keys(),
|
||||
"foreign_keys": self.get_foreign_keys(),
|
||||
|
|
@ -183,3 +191,31 @@ class FirebirdSchemaExtractor:
|
|||
"procedures": self.get_procedures(),
|
||||
"triggers": self.get_triggers(),
|
||||
}
|
||||
|
||||
# -----------------------------
|
||||
# 2. INSERE NO BANCO MYSQL (NOVO TRECHO)
|
||||
# -----------------------------
|
||||
try:
|
||||
|
||||
# Dados a serem inseridos
|
||||
json_data = json.dumps(data, ensure_ascii=False)
|
||||
|
||||
# Preenchimento de parâmetros.
|
||||
params = {
|
||||
'json_data': json_data # Deve ser None/0 para INSERT
|
||||
}
|
||||
|
||||
# Inserção simples
|
||||
sql = """INSERT INTO firebird_schema (schema_json) VALUES (%s) """
|
||||
|
||||
# Execução do SQL.
|
||||
self.run_and_return(sql, params)
|
||||
|
||||
except Exception as e:
|
||||
# Não interrompe o retorno, apenas registra o erro
|
||||
print(f"[ERRO] Falha ao salvar no MySQL: {e}")
|
||||
|
||||
# -----------------------------
|
||||
# 3. RETORNO FINAL
|
||||
# -----------------------------
|
||||
return data
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue