~cytrogen/masto-fe

ref: bb98d970e3f3333f85d454bc1fd26a1b582b14d2 masto-fe/db/migrate/20210505174616_update_follow_recommendations_to_version_2.rb -rw-r--r-- 659 bytes
bb98d970 — Claire Merge pull request #2291 from ClearlyClaire/glitch-soc/merge-upstream 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

class UpdateFollowRecommendationsToVersion2 < ActiveRecord::Migration[6.1]
  # We're switching from a normal to a materialized view so we need
  # custom `up` and `down` paths.

  def up
    drop_view :follow_recommendations
    create_view :follow_recommendations, version: 2, materialized: { no_data: true }

    # To be able to refresh the view concurrently,
    # at least one unique index is required
    safety_assured { add_index :follow_recommendations, :account_id, unique: true }
  end

  def down
    drop_view :follow_recommendations, materialized: true
    create_view :follow_recommendations, version: 1
  end
end