Rails begrijpt "geavanceerde" databaseconcepten zoals views niet echt, dus ze verschijnen niet in uw schema.rb
. Wanneer rspec zijn testdatabase aan het opzetten is, gebruikt het schema.rb
om het databaseschema te maken, aangezien u uw weergaven niet zult vinden in schema.rb
, u zult uw mening niet vinden in de testdatabase die rspec zal gebruiken en alles valt uit elkaar.
De oplossing is om over te schakelen van schema.rb
naar structure.sql
. U zou uw config/application.rb
. moeten kunnen bijwerken zeggen:
config.active_record.schema_format = :sql
en doe dan een rake db:structure:dump
om de structure.sql
. te genereren het dossier. Zodra je dat hebt, verwijder je schema.rb
voeg vanuit uw bestandssysteem en revisiebeheer structure.sql
. toe en probeer het opnieuw.