diff options
| -rw-r--r-- | lib/pleroma/user.ex | 2 | ||||
| -rw-r--r-- | priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs | 20 | 
2 files changed, 10 insertions, 12 deletions
| diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 3831588f9..c5b1ddc5d 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -55,8 +55,6 @@ defmodule Pleroma.User do      field(:search_type, :integer, virtual: true)      field(:tags, {:array, :string}, default: [])      field(:last_refreshed_at, :naive_datetime_usec) -    # TODO: add migration to delete `bookmarks` field from DB -    field(:old_bookmarks, {:array, :string}, default: [], source: :bookmarks)      has_many(:bookmarks, Bookmark)      has_many(:notifications, Notification)      has_many(:registrations, Registration) diff --git a/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs b/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs index 09f02c223..ebe69696e 100644 --- a/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs +++ b/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs @@ -6,24 +6,24 @@ defmodule Pleroma.Repo.Migrations.MigrateOldBookmarks do    alias Pleroma.User    alias Pleroma.Repo -  def up do +  def change do      query =        from(u in User,          where: u.local == true, -        where: fragment("array_length(?, 1)", u.old_bookmarks) > 0, -        select: %{id: u.id, old_bookmarks: u.old_bookmarks} +        where: fragment("array_length(bookmarks, 1)") > 0, +        select: %{id: u.id, bookmarks: fragment("bookmarks")}        )      Repo.stream(query) -    |> Enum.each(fn user -> -      Enum.each(user.old_bookmarks, fn id -> -        activity = Activity.get_create_by_object_ap_id(id) -        {:ok, _} = Bookmark.create(user.id, activity.id) +    |> Enum.each(fn %{id: user_id, bookmarks: bookmarks} -> +      Enum.each(bookmarks, fn ap_id -> +        activity = Activity.get_create_by_object_ap_id(ap_id) +        {:ok, _} = Bookmark.create(user_id, activity.id)        end)      end) -  end -  def down do -    execute("TRUNCATE TABLE bookmarks") +    alter table(:users) do +      remove(:bookmarks) +    end    end  end | 
