pleroma/priv/repo/migrations/20180221210540_make_following_postgres_array.exs

26 lines
606 B
Elixir
Raw Normal View History

2022-02-26 06:11:42 +00: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 21:20:29 +00:00
defmodule Pleroma.Repo.Migrations.MakeFollowingPostgresArray do
use Ecto.Migration
2019-07-01 01:08:07 +00:00
def up do
2018-02-21 21:20:29 +00:00
alter table(:users) do
2019-10-08 12:16:39 +00:00
add(:following_temp, {:array, :string})
2018-02-21 21:20:29 +00:00
end
2019-10-08 12:16:39 +00:00
execute("""
2018-02-21 21:20:29 +00:00
update users set following_temp = array(select jsonb_array_elements_text(following));
2019-10-08 12:16:39 +00:00
""")
2018-02-21 21:20:29 +00:00
alter table(:users) do
2019-10-08 12:16:39 +00:00
remove(:following)
2018-02-21 21:20:29 +00:00
end
2019-10-08 12:16:39 +00:00
rename(table(:users), :following_temp, to: :following)
2018-02-21 21:20:29 +00:00
end
2019-07-01 01:08:07 +00:00
def down, do: :ok
2018-02-21 21:20:29 +00:00
end