PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Viste Postgres non riconosciute da rspec

Rails non comprende i concetti "avanzati" del database come le viste, quindi non verranno visualizzati nel tuo schema.rb . Quando rspec sta configurando il suo database di test, utilizzerà schema.rb per creare lo schema del database, poiché non troverai le tue viste in schema.rb , non troverai le tue viste nel database di test che rspec utilizzerà e tutto andrà in pezzi.

La soluzione è passare da schema.rb a structure.sql . Dovresti essere in grado di aggiornare il tuo config/application.rb per dire:

config.active_record.schema_format = :sql

e quindi esegui un rake db:structure:dump per generare il structure.sql file. Una volta che lo hai, rimuovi schema.rb dal file system e dal controllo di revisione, aggiungi structure.sql e riprova.