标签: scenic

在 Rspec 中测试物化视图

使用Scenic gem,我构建了一个由物化视图支持的 ActiveRecord 模型

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
Run Code Online (Sandbox Code Playgroud)

我现在尝试在 RSpec 中测试这个模型,但无论我做什么,我都无法让 Postgres 用记录填充视图:

> FactoryGirl.create(:sale_item)
> MatviewSales.refresh
> MatviewSales.all
=> #<ActiveRecord::Relation []> 
Run Code Online (Sandbox Code Playgroud)

如何使用测试记录填充物化视图?

postgresql rspec ruby-on-rails materialized-views scenic

6
推荐指数
1
解决办法
3136
查看次数