3
respostas

Problema ao buscar as tabelas criadas - engine vs inspect

Olá,

O curso colocou uma página de observação sobre a engine ser obsoleta, mas citou apenas um uso, recomendando usar o print assim:

inspector = inspect(engine)
print(inspector.get_table_names())

todavia, houve outros usos e fiquei sem saber como fazer; acabei por substituir "engine" por "inspector.engine", como em:

query = 'select * from matriculas where quantidade_de_alunos < 20'
pd.read_sql(query, inspector.engine)

e

pd.read_sql_table('matriculas', inspector.engine, columns = ['nome_do_curso', 'quantidade_de_alunos'])

não entendi o que houve, mas funcionou, então ok... o problema maior surgiu quando precisei mais uma vez printar os nomes das tabelas criadas; e o

inspector.get_table_names()

não se atualizava, imprimindo somente o nome da primeira tabela criada. Vendo outro post do fórum, vi uma menção da necessidade de mantar o inspect sempre alerta para verificar se houve alguma atualização, a pessoa chegou a exemplificar que o inspect precisava abrir a porta e perguntar quem queria entrar, entretanto, a pessoa não explicou como fazer isso, como manter o inspect atualizado...e essa é a minha dúvida.

Agradecido, Gustavo Serra

3 respostas

voce tem que voltar a rodar a inspector = inspect(engine) E so voce cola este bloco de código junto como esta aonde esta dando erro e rodar

print(inspector.get_table_names())
inspector = inspect(engine)

Octávio, mas será que não há uma forma automática para o inspect(engine) se manter atualizado?

deve aver a cada tantas horas configura todo projeto para radar. mais sobre o ( inspect ) penso que não pois e so voce copiar duas palavras de código para resolver e toda hora que o projeto for rodado o ENGINE do banco vai ser rodado novamente e atualizado. dependendo da IDE tipo Anaconda ( Jupyter Notebook ) , vsc , etc. a ordem muda podendo ser.

inspector = inspect(engine)
print(inspector.get_table_names())