summaryrefslogtreecommitdiff
path: root/priv/repo/migrations/20190710125158_add_following_address_from_source_data.exs
blob: 779aa382e903d6081a8c293d864928cbd6e8d79b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
defmodule Pleroma.Repo.Migrations.AddFollowingAddressFromSourceData do
  use Ecto.Migration
  import Ecto.Query
  alias Pleroma.User

  def change do
    query =
      User.external_users_query()
      |> select([u], struct(u, [:id, :ap_id, :info]))

    Pleroma.Repo.stream(query)
    |> Enum.each(fn
      %{info: %{source_data: source_data}} = user ->
        Ecto.Changeset.cast(user, %{following_address: source_data["following"]}, [
          :following_address
        ])
        |> Pleroma.Repo.update()
    end)
  end
end