-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
48 lines (36 loc) · 1.38 KB
/
main.py
File metadata and controls
48 lines (36 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from conector.postgres import PostgresConector
from executor.schemas import SchemaFinder
from executor.count_tables import TableCounter
from utils.csv_writer import salvar_csv
from executor.indexes import IndexInspector
def main():
db = PostgresConector(
host=,
dbname=,
user=,
password=,
port=5432
)
db.conectar()
finder = SchemaFinder(db)
contador = TableCounter(db)
schemas = finder.listar_schemas_validos()
print("Schemas válidos encontrados:")
for schema in schemas:
print(f"- {schema}")
print("\nContando registros por tabela:")
resultados_contagem = contador.contar_tabelas_em_schemas(schemas, finder)
for r in resultados_contagem:
print(f"{r['schema']}.{r['tabela']}: {r['total']} registros")
# Salva os resultados da contagem de tabelas
salvar_csv(resultados_contagem, "assets/contagem_tabelas.csv", ["schema", "tabela", "total"])
print("\nListando índices por tabela:")
inspetor = IndexInspector(db)
indices = inspetor.listar_indices()
for idx in indices:
print(f"{idx['schema']}.{idx['tabela']} → {idx['indice']} ({idx['tipo']}) [{idx['colunas']}]")
# Salva os índices em um novo arquivo CSV
salvar_csv(indices, "assets/indices_erp.csv", ["schema", "tabela", "indice", "tipo", "colunas"])
db.fechar()
if __name__ == "__main__":
main()