Rails всъщност не разбира концепции за "разширени" бази данни като изгледи, така че те няма да се показват във вашия schema.rb
. Когато rspec настройва своята тестова база данни, той ще използва schema.rb
за да създадете схемата на базата данни, тъй като няма да намерите изгледите си в schema.rb
, няма да намерите изгледите си в тестовата база данни, която rspec ще използва и всичко се разпада.
Решението е да преминете от schema.rb
към structure.sql
. Трябва да можете да актуализирате своя config/application.rb
да каже:
config.active_record.schema_format = :sql
и след това направете rake db:structure:dump
за генериране на structure.sql
файл. След като имате това, премахнете schema.rb
от вашата файлова система и контрол на ревизиите, добавете structure.sql
и опитайте отново.