Trabalhar com visualização Postgres/PostGIS no SQLAlchemy
-
19-09-2019 - |
Pergunta
Duas questões:
quero gerar uma visualização no meu PostGIS-DB.Como adiciono esta visualização à minha tabela geometria_columns?
O que devo fazer para usar uma View com SQLAlchemy?Existe uma diferença entre uma tabela e uma visualização no SQLAlchemy ou posso usar a mesma maneira de usar uma visualização e uma tabela?
desculpe pelo meu pobre inglês.
Se houver alguma dúvida sobre minha pergunta, sinta-se à vontade para perguntar para que eu possa tentar explicar de outra maneira, talvez :)
Nico
Solução
Os objetos de tabela no SQLAlchemy têm duas funções.Eles podem ser usados para emitir comandos DDL para criar a tabela no banco de dados.Mas seu objetivo principal é descrever as colunas e os tipos de dados tabulares que podem ser selecionados e inseridos.
Se você deseja apenas selecionar, uma visualização parece para SQLAlchemy exatamente como uma tabela normal.Basta descrever a visão como uma Tabela com as colunas que lhe interessam (nem é necessário descrever todas as colunas).Se você quiser usar o ORM, precisará declarar para SQLAlchemy que alguma combinação de colunas pode ser usada como chave primária (qualquer coisa que seja exclusiva servirá).Declarar algumas colunas como chaves estrangeiras também facilitará o estabelecimento de quaisquer relações.Se você não emitir create para esse objeto Table, serão apenas metadados para SQLAlchemy saber como consultar o banco de dados.
Se você também deseja inserir na visualização, precisará criar regras ou gatilhos do PostgreSQL na visualização que redirecionem as gravações para o local correto.Não conheço uma boa receita de uso para redirecionar gravações no lado do Python.