PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Vues Postgres non reconnues par rspec

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.