diff options
| author | Alex S <alex.strizhakov@gmail.com> | 2019-04-14 21:37:05 +0700 | 
|---|---|---|
| committer | Alex S <alex.strizhakov@gmail.com> | 2019-04-25 13:38:24 +0700 | 
| commit | 324c9c8ab54b7df59534f6a8160d4a20d5b79722 (patch) | |
| tree | 6fdab6bc777dc6f86ca5dbe8c62963f6304bd77f | |
| parent | 73d01857e3ff1737a4ea733a3f6c6419379ce8e8 (diff) | |
| download | pleroma-324c9c8ab54b7df59534f6a8160d4a20d5b79722.tar.gz pleroma-324c9c8ab54b7df59534f6a8160d4a20d5b79722.zip  | |
migrate user.bookmarks to separate table
| -rw-r--r-- | lib/pleroma/user.ex | 2 | ||||
| -rw-r--r-- | priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs | 21 | 
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index c5b1ddc5d..3831588f9 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -55,6 +55,8 @@ 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 new file mode 100644 index 000000000..1930fc3cf --- /dev/null +++ b/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs @@ -0,0 +1,21 @@ +defmodule Pleroma.Repo.Migrations.MigrateOldBookmarks do +  use Ecto.Migration +  alias Pleroma.Activity +  alias Pleroma.Bookmark +  alias Pleroma.User +  alias Pleroma.Repo + +  def up do +    Repo.all(User) +    |> 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) +      end) +    end) +  end + +  def down do +    execute("TRUNCATE TABLE bookmarks") +  end +end  | 
