social.metadata.moe/priv/repo/migrations/20180221210540_make_following_postgres_array.exs

26 lines
606 B
Elixir
Raw Normal View History

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