PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Widoki Postgres nie są rozpoznawane przez rspec

Railsy tak naprawdę nie rozumieją "zaawansowanych" koncepcji baz danych, takich jak widoki, więc nie pojawią się one w twoim schema.rb . Kiedy rspec konfiguruje swoją testową bazę danych, użyje schema.rb aby utworzyć schemat bazy danych, ponieważ nie znajdziesz swoich widoków w schema.rb , nie znajdziesz swoich widoków w testowej bazie danych, której będzie używał rspec, i wszystko się rozpadnie.

Rozwiązaniem jest przejście z schema.rb do structure.sql . Powinieneś być w stanie zaktualizować plik config/application.rb powiedzieć:

config.active_record.schema_format = :sql

a następnie wykonaj rake db:structure:dump aby wygenerować structure.sql plik. Gdy już to zrobisz, usuń schema.rb z systemu plików i kontroli wersji, dodaj structure.sql i spróbuj ponownie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:Automatyczne tworzenie kopii zapasowych w systemie Windows

  2. Błąd:nieprawidłowa składnia wejściowa dla liczby całkowitej:

  3. Aktywna aktualizacja wszystkich pól JSON

  4. Tworzenie procedur składowanych za pomocą SQLAlchemy

  5. Zmień nazwy kolumn tabeli na wielkie litery w postgresie