PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Visualizações do Postgres não reconhecidas pelo rspec


Rails realmente não entende conceitos de banco de dados "avançados" como visualizações, então eles não aparecerão em seu schema.rb . Quando o rspec estiver configurando seu banco de dados de teste, ele usará schema.rb para criar o esquema do banco de dados, pois você não encontrará suas visualizações em schema.rb , você não encontrará suas visualizações no banco de dados de teste que o rspec estará usando e tudo desmoronará.

A solução é mudar de schema.rb para structure.sql . Você deve poder atualizar seu config/application.rb dizer:
config.active_record.schema_format = :sql

e então faça um rake db:structure:dump para gerar o structure.sql Arquivo. Depois de ter isso, remova schema.rb do seu sistema de arquivos e controle de revisão, adicione structure.sql , e tente novamente.