Rails ve skutečnosti nerozumí "pokročilým" databázovým konceptům, jako jsou pohledy, takže se neobjeví ve vašem schema.rb
. Když rspec nastavuje svou testovací databázi, použije schema.rb
k vytvoření schématu databáze, protože své pohledy nenajdete v schema.rb
, nenajdete své pohledy v testovací databázi, kterou bude rspec používat, a vše se rozpadne.
Řešením je přejít z schema.rb
na structure.sql
. Měli byste být schopni aktualizovat config/application.rb
říct:
config.active_record.schema_format = :sql
a poté proveďte rake db:structure:dump
vygenerovat structure.sql
soubor. Jakmile to budete mít, odstraňte schema.rb
ze systému souborů a kontroly revizí přidejte structure.sql
a zkuste to znovu.