2022-02-25 23:11:42 -07:00
|
|
|
# Pleroma: A lightweight social networking server
|
|
|
|
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
|
|
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
2018-02-21 14:20:29 -07:00
|
|
|
defmodule Pleroma.Repo.Migrations.MakeFollowingPostgresArray do
|
|
|
|
use Ecto.Migration
|
|
|
|
|
2019-06-30 19:08:07 -06:00
|
|
|
def up do
|
2018-02-21 14:20:29 -07:00
|
|
|
alter table(:users) do
|
2019-10-08 06:16:39 -06:00
|
|
|
add(:following_temp, {:array, :string})
|
2018-02-21 14:20:29 -07:00
|
|
|
end
|
|
|
|
|
2019-10-08 06:16:39 -06:00
|
|
|
execute("""
|
2018-02-21 14:20:29 -07:00
|
|
|
update users set following_temp = array(select jsonb_array_elements_text(following));
|
2019-10-08 06:16:39 -06:00
|
|
|
""")
|
2018-02-21 14:20:29 -07:00
|
|
|
|
|
|
|
alter table(:users) do
|
2019-10-08 06:16:39 -06:00
|
|
|
remove(:following)
|
2018-02-21 14:20:29 -07:00
|
|
|
end
|
2019-10-08 06:16:39 -06:00
|
|
|
|
|
|
|
rename(table(:users), :following_temp, to: :following)
|
2018-02-21 14:20:29 -07:00
|
|
|
end
|
2019-06-30 19:08:07 -06:00
|
|
|
|
|
|
|
def down, do: :ok
|
2018-02-21 14:20:29 -07:00
|
|
|
end
|