sql >> Database >  >> RDS >> PostgreSQL

Postgres-weergaven worden niet herkend door rspec

Rails begrijpt "geavanceerde" databaseconcepten zoals views niet echt, dus ze verschijnen niet in uw schema.rb . Wanneer rspec zijn testdatabase aan het opzetten is, gebruikt het schema.rb om het databaseschema te maken, aangezien u uw weergaven niet zult vinden in schema.rb , u zult uw mening niet vinden in de testdatabase die rspec zal gebruiken en alles valt uit elkaar.

De oplossing is om over te schakelen van schema.rb naar structure.sql . U zou uw config/application.rb . moeten kunnen bijwerken zeggen:

config.active_record.schema_format = :sql

en doe dan een rake db:structure:dump om de structure.sql . te genereren het dossier. Zodra je dat hebt, verwijder je schema.rb voeg vanuit uw bestandssysteem en revisiebeheer structure.sql . toe en probeer het opnieuw.



  1. SQL-insert genereren in voor Oracle

  2. MySQL-strings omzetten in SQL Server-equivalenten

  3. JSON toont fout 403 tijdens het ophalen van gegevens uit de database in Android

  4. Postgres combineert meerdere indexen