1
使用Scenic gem我已经建立了一个物化视图测试物化视图中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
我现在试图测试在RSpec的这种模式,但无论我做什么,我不能支持ActiveRecord模型t让Postgres填充记录的视图:
> FactoryGirl.create(:sale_item)
> MatviewSales.refresh
> MatviewSales.all
=> #<ActiveRecord::Relation []>
如何用测试记录填充物化视图?
如何为':sale_item'有关'MatviewSales'?你可以显示这两个表的模式和':sale_item'工厂的代码吗? – Midwire
同意@Midwire。我们需要查看模式,查询物化视图以及调用工厂时创建的行。另外,在刷新时尝试将'concurrently'设置为'false'? –