sql >> Base de Datos >  >> RDS >> PostgreSQL

Vistas de Postgres no reconocidas por rspec

Rails realmente no entiende los conceptos de base de datos "avanzados" como las vistas, por lo que no aparecerán en su schema.rb . Cuando rspec esté configurando su base de datos de prueba, usará schema.rb para crear el esquema de la base de datos, ya que no encontrará sus vistas en schema.rb , no encontrará sus vistas en la base de datos de prueba que usará rspec y todo se desmorona.

La solución es cambiar de schema.rb a structure.sql . Debería poder actualizar su config/application.rb decir:

config.active_record.schema_format = :sql

y luego haz un rake db:structure:dump para generar la structure.sql expediente. Una vez que tenga eso, elimine schema.rb desde su sistema de archivos y control de revisión, agregue structure.sql e inténtalo de nuevo.