schema.rb
nie obsługuje
(patrz sekcja 6.2 przewodników Rails 3.2.x i sekcja 7.2 przewodników Rails 4) widoków lub funkcji niestandardowych. Mamy widok w naszej aplikacji i schemat nie działa dla niego.
Używamy structure.sql
zamiast tego, ponieważ to właściwie konfiguruje nasz widok, a moje poczucie jest takie samo, jak tutaj dla funkcji niestandardowych. Aby użyć structure.sql zamiast schema.rb:
Możesz także użyć kombinacji schema.rb
(dla zwykłych tabel i indeksu) i structure.sql
(dla funkcji niestandardowych). Aby skonfigurować tę kombinację dla środowisk testowych:
bundle exec rake db:schema:load
bundle exec rake db:structure:load
W tej konfiguracji zauważ, że plik structure.sql musi być zarządzany ręcznie, podczas gdy schema.rb będzie obsługiwany przez Railsy.