Rails ne comprend pas vraiment les concepts de base de données "avancés" comme les vues, ils n'apparaîtront donc pas dans votre schema.rb
. Lorsque rspec configure sa base de données de test, il utilisera schema.rb
pour créer le schéma de la base de données, puisque vous ne trouverez pas vos vues dans schema.rb
, vous ne trouverez pas vos vues dans la base de données de test que rspec utilisera et tout s'effondre.
La solution est de passer de schema.rb
à structure.sql
. Vous devriez pouvoir mettre à jour votre config/application.rb
dire :
config.active_record.schema_format = :sql
puis faites un rake db:structure:dump
pour générer la structure.sql
dossier. Une fois que vous avez cela, supprimez schema.rb
à partir de votre système de fichiers et de votre contrôle de révision, ajoutez structure.sql
, et réessayez.