|
- defmodule Pleroma.Repo.Migrations.FixMissingFollowingCount do
- use Ecto.Migration
-
- def up do
- """
- UPDATE
- users
- SET
- following_count = sub.count
- FROM
- (
- SELECT
- users.id AS sub_id
- ,COUNT (following_relationships.id)
- FROM
- following_relationships
- ,users
- WHERE
- users.id = following_relationships.follower_id
- AND following_relationships.state = 'accept'
- GROUP BY
- users.id
- ) AS sub
- WHERE
- users.id = sub.sub_id
- AND users.local = TRUE
- ;
- """
- |> execute()
-
- """
- UPDATE
- users
- SET
- following_count = 0
- WHERE
- following_count IS NULL
- """
- |> execute()
-
- execute("ALTER TABLE users
- ALTER COLUMN following_count SET DEFAULT 0,
- ALTER COLUMN following_count SET NOT NULL
- ")
- end
-
- def down do
- execute("ALTER TABLE users
- ALTER COLUMN following_count DROP DEFAULT,
- ALTER COLUMN following_count DROP NOT NULL
- ")
- end
- end
|