PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres-Ansichten werden von rspec nicht erkannt

Rails versteht "fortgeschrittene" Datenbankkonzepte wie Ansichten nicht wirklich, daher erscheinen sie nicht in Ihrer schema.rb . Wenn rspec seine Testdatenbank einrichtet, verwendet es schema.rb um das Datenbankschema zu erstellen, da Sie Ihre Ansichten nicht in schema.rb finden , werden Sie Ihre Ansichten nicht in der Testdatenbank finden, die rspec verwenden wird, und alles fällt auseinander.

Die Lösung besteht darin, von schema.rb zu wechseln zu structure.sql . Sie sollten in der Lage sein, Ihre config/application.rb zu aktualisieren zu sagen:

config.active_record.schema_format = :sql

und dann einen rake db:structure:dump ausführen um die structure.sql zu generieren Datei. Sobald Sie das haben, entfernen Sie schema.rb Fügen Sie aus Ihrem Dateisystem und der Versionskontrolle structure.sql hinzu , und versuchen Sie es erneut.