User, Migration: Change `accepts_chat_messages` to be nullable

This is to model the ambiguous state of most users.
This commit is contained in:
lain 2020-07-03 13:12:23 +02:00
parent 3250228be9
commit 37fdb05058
2 changed files with 10 additions and 5 deletions

View File

@ -138,7 +138,7 @@ defmodule Pleroma.User do
field(:also_known_as, {:array, :string}, default: []) field(:also_known_as, {:array, :string}, default: [])
field(:inbox, :string) field(:inbox, :string)
field(:shared_inbox, :string) field(:shared_inbox, :string)
field(:accepts_chat_messages, :boolean, default: false) field(:accepts_chat_messages, :boolean, default: nil)
embeds_one( embeds_one(
:notification_settings, :notification_settings,

View File

@ -1,12 +1,17 @@
defmodule Pleroma.Repo.Migrations.AddChatAcceptanceToUsers do defmodule Pleroma.Repo.Migrations.AddChatAcceptanceToUsers do
use Ecto.Migration use Ecto.Migration
def change do def up do
alter table(:users) do alter table(:users) do
add(:accepts_chat_messages, :boolean, nullable: false, default: false) add(:accepts_chat_messages, :boolean, nullable: true)
end end
# Looks stupid but makes the update much faster execute("update users set accepts_chat_messages = true where local = true")
execute("update users set accepts_chat_messages = local where local = true") end
def down do
alter table(:users) do
remove(:accepts_chat_messages)
end
end end
end end