Module: ScenicMigrationHelpers

Defined in:
lib/scenic_migration_helpers.rb

Instance Method Summary collapse

Instance Method Details

#create_materialized_view(view_name, version: nil, async_indexing: true) ⇒ Object

Create a new materialized view with indexes



3
4
5
6
7
8
9
10
# File 'lib/scenic_migration_helpers.rb', line 3

def create_materialized_view(view_name, version: nil, async_indexing: true)
  version ||= latest_version(view_name)

  create_view(view_name, version: version, materialized: true)

  apply_comments(view_name)
  apply_indexes(view_name, async_indexing: async_indexing)
end

#update_materialized_view(view_name, version: nil, revert_to_version: nil, async_indexing: true) ⇒ Object

Update an existing materialized view to a new version with indexes
Scenic's update_view drops and recreates the view, so indexes need to be reapplied



14
15
16
17
18
19
20
21
22
# File 'lib/scenic_migration_helpers.rb', line 14

def update_materialized_view(view_name, version: nil, revert_to_version: nil, async_indexing: true)
  version ||= latest_version(view_name)
  revert_to_version ||= version - 1

  update_view(view_name, version: version, revert_to_version: revert_to_version, materialized: true)

  apply_comments(view_name)
  apply_indexes(view_name, async_indexing: async_indexing)
end