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(:inbox, :string)
field(:shared_inbox, :string)
field(:accepts_chat_messages, :boolean, default: false)
field(:accepts_chat_messages, :boolean, default: nil)
embeds_one(
:notification_settings,

View File

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