Migrations: Make them not fail for old databases
This commit is contained in:
parent
3b78695c98
commit
2d5cf0f8cd
|
@ -17,7 +17,11 @@ def up do
|
||||||
Repo.stream(query)
|
Repo.stream(query)
|
||||||
|> Enum.each(fn %{id: user_id, bookmarks: bookmarks} ->
|
|> Enum.each(fn %{id: user_id, bookmarks: bookmarks} ->
|
||||||
Enum.each(bookmarks, fn ap_id ->
|
Enum.each(bookmarks, fn ap_id ->
|
||||||
activity = Activity.get_create_by_object_ap_id(ap_id)
|
activity =
|
||||||
|
ap_id
|
||||||
|
|> Activity.create_by_object_ap_id()
|
||||||
|
|> Repo.one()
|
||||||
|
|
||||||
unless is_nil(activity), do: {:ok, _} = Bookmark.create(user_id, activity.id)
|
unless is_nil(activity), do: {:ok, _} = Bookmark.create(user_id, activity.id)
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
defmodule Pleroma.Repo.Migrations.AddFollowingAddressFromSourceData do
|
defmodule Pleroma.Repo.Migrations.AddFollowingAddressFromSourceData do
|
||||||
use Ecto.Migration
|
|
||||||
import Ecto.Query
|
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
import Ecto.Query
|
||||||
|
require Logger
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
def change do
|
def change do
|
||||||
query =
|
query =
|
||||||
|
@ -19,6 +20,9 @@ def change do
|
||||||
:following_address
|
:following_address
|
||||||
])
|
])
|
||||||
|> Pleroma.Repo.update()
|
|> Pleroma.Repo.update()
|
||||||
|
|
||||||
|
user ->
|
||||||
|
Logger.warn("User #{user.id} / #{user.nickname} does not seem to have source_data")
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,8 @@ defmodule Pleroma.Repo.Migrations.CopyMutedToMutedNotifications do
|
||||||
use Ecto.Migration
|
use Ecto.Migration
|
||||||
|
|
||||||
def change do
|
def change do
|
||||||
|
execute("update users set info = '{}' where info is null")
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
"update users set info = safe_jsonb_set(info, '{muted_notifications}', info->'mutes', true) where local = true"
|
"update users set info = safe_jsonb_set(info, '{muted_notifications}', info->'mutes', true) where local = true"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue