fedibird-fe/db/migrate/20210505174616_update_follow_recommendations_to_version_2.rb
Claire d8e0c8a89e
Do not populate AccountSummaries and FollowRecommendation views on migration (#16173)
Materializing those views can take a while, and they are currently refreshed
anyway each time they are actually used, in the FollowRecommendationsScheduler.
2021-05-07 18:14:29 +02:00

18 lines
628 B
Ruby

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