04268082d5dc7c5c6de9d1dd90c099e78dcb554f
[anni] / priv / repo / migrations / 20191118084425_create_user_relationships.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Repo.Migrations.CreateUserRelationships do
6   use Ecto.Migration
7
8   def change do
9     create_if_not_exists table(:user_relationships) do
10       add(:source_id, references(:users, type: :uuid, on_delete: :delete_all))
11       add(:target_id, references(:users, type: :uuid, on_delete: :delete_all))
12       add(:relationship_type, :integer, null: false)
13
14       timestamps(updated_at: false)
15     end
16
17     create_if_not_exists(
18       unique_index(:user_relationships, [:source_id, :relationship_type, :target_id])
19     )
20   end
21 end