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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top