projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'fix/upload-filter-exiftool-webp' into 'develop'
[akkoma]
/
priv
/
repo
/
migrations
/
20190414125034_migrate_old_bookmarks.exs
diff --git
a/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs
b/priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs
index 134b7c6f769285e08d0dd724e0b87e003a0b2042..b6f0ac66b3dde98f6a1e95d9b38edeceed381788 100644
(file)
--- a/
priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs
+++ b/
priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs
@@
-3,22
+3,25
@@
defmodule Pleroma.Repo.Migrations.MigrateOldBookmarks do
import Ecto.Query
alias Pleroma.Activity
alias Pleroma.Bookmark
import Ecto.Query
alias Pleroma.Activity
alias Pleroma.Bookmark
- alias Pleroma.User
alias Pleroma.Repo
alias Pleroma.Repo
- def
change
do
+ def
up
do
query =
query =
- from(u in
User
,
+ from(u in
"users"
,
where: u.local == true,
where: u.local == true,
- where: fragment("array_length(
bookmarks, 1)"
) > 0,
- select: %{id: u.id, bookmarks:
fragment("bookmarks")
}
+ where: fragment("array_length(
?, 1)", u.bookmarks
) > 0,
+ select: %{id: u.id, bookmarks:
u.bookmarks
}
)
Repo.stream(query)
|> Enum.each(fn %{id: user_id, bookmarks: bookmarks} ->
Enum.each(bookmarks, fn ap_id ->
)
Repo.stream(query)
|> Enum.each(fn %{id: user_id, bookmarks: bookmarks} ->
Enum.each(bookmarks, fn ap_id ->
- activity = Activity.get_create_by_object_ap_id(ap_id)
- unless is_nil(activity), do: {:ok, _} = Bookmark.create(user_id, activity.id)
+ activity =
+ ap_id
+ |> Activity.create_by_object_ap_id()
+ |> Repo.one()
+
+ unless is_nil(activity), do: {:ok, _} = Bookmark.create(user_id, activity.id)
end)
end)
end)
end)
@@
-26,4
+29,10
@@
defmodule Pleroma.Repo.Migrations.MigrateOldBookmarks do
remove(:bookmarks)
end
end
remove(:bookmarks)
end
end
+
+ def down do
+ alter table(:users) do
+ add(:bookmarks, {:array, :string}, null: false, default: [])
+ end
+ end
end
end