diff options
Diffstat (limited to 'priv')
3 files changed, 39 insertions, 0 deletions
diff --git a/priv/repo/migrations/20200831142509_chat_constraints.exs b/priv/repo/migrations/20200831142509_chat_constraints.exs new file mode 100644 index 000000000..868a40a45 --- /dev/null +++ b/priv/repo/migrations/20200831142509_chat_constraints.exs @@ -0,0 +1,22 @@ +defmodule Pleroma.Repo.Migrations.ChatConstraints do +  use Ecto.Migration + +  def change do +    remove_orphans = """ +    delete from chats where not exists(select id from users where ap_id = chats.recipient); +    """ + +    execute(remove_orphans) + +    drop(constraint(:chats, "chats_user_id_fkey")) + +    alter table(:chats) do +      modify(:user_id, references(:users, type: :uuid, on_delete: :delete_all)) + +      modify( +        :recipient, +        references(:users, column: :ap_id, type: :string, on_delete: :delete_all) +      ) +    end +  end +end diff --git a/priv/repo/migrations/20200901061256_ensure_bio_is_string.exs b/priv/repo/migrations/20200901061256_ensure_bio_is_string.exs new file mode 100644 index 000000000..0e3bb3c81 --- /dev/null +++ b/priv/repo/migrations/20200901061256_ensure_bio_is_string.exs @@ -0,0 +1,7 @@ +defmodule Pleroma.Repo.Migrations.EnsureBioIsString do +  use Ecto.Migration + +  def change do +    execute("update users set bio = '' where bio is null", "") +  end +end diff --git a/priv/repo/migrations/20200901061637_bio_set_not_null.exs b/priv/repo/migrations/20200901061637_bio_set_not_null.exs new file mode 100644 index 000000000..e3a67d4e7 --- /dev/null +++ b/priv/repo/migrations/20200901061637_bio_set_not_null.exs @@ -0,0 +1,10 @@ +defmodule Pleroma.Repo.Migrations.BioSetNotNull do +  use Ecto.Migration + +  def change do +    execute( +      "alter table users alter column bio set not null", +      "alter table users alter column bio drop not null" +    ) +  end +end  | 
