die Scenic gem Verwendung Ich habe ein Modell gebaut Active durch eine materialisierte Ansicht gesichertTesting materialisierten Ansicht in Rspec
class MatviewSales < ActiveRecord::Base
self.table_name = 'matview_sales'
self.primary_key = :id
belongs_to :user
belongs_to :account
belongs_to :account_manager, class_name: User, foreign_key: 'manager_id'
def self.refresh
Scenic.database.refresh_materialized_view(table_name, concurrently: true)
end
end
ich jetzt versuchen, dieses Modell in RSpec zu testen, aber egal was ich tue, ich kann‘ t erhalten Postgres die Ansicht mit Datensätzen zu füllen:
> FactoryGirl.create(:sale_item)
> MatviewSales.refresh
> MatviewSales.all
=> #<ActiveRecord::Relation []>
Wie kann ich die materialisierte Ansicht mit Aufzeichnungen für die Prüfung zu füllen?
Wie ist ': sale_item' zu' MatviewSales' verwandt? Können Sie das Schema für diese 2 Tabellen und den Code für die Factory ': sale_item' anzeigen? – Midwire
Vereinbaren Sie mit @ Midwire. Wir müssten die Schemas, die Abfrage für die materialisierte Ansicht sowie die Zeile sehen, die beim Aufruf der Factory erstellt wird. Versuchen Sie außerdem, bei der Aktualisierung "gleichzeitig" auf "falsch" zu setzen. –