defmodule Nulla.Repo.Migrations.CreateActorRelations do use Ecto.Migration def change do create table(:relations, primary_key: false) do add :id, :bigint, primary_key: true add :following, :boolean, null: false, default: false add :followed_by, :boolean, null: false, default: false add :showing_replies, :boolean, null: false, default: true add :showing_reblogs, :boolean, null: false, default: true add :notifying, :boolean, null: false, default: false add :muting, :boolean, null: false, default: false add :muting_notifications, :boolean, null: false, default: false add :blocking, :boolean, null: false, default: false add :blocked_by, :boolean, null: false, default: false add :domain_blocking, :boolean, null: false, default: false add :requested, :boolean, null: false, default: false add :note, :string add :local_actor_id, references(:actors, type: :bigint), null: false add :remote_actor_id, references(:actors, type: :bigint), null: false timestamps() end create index(:relations, [:local_actor_id]) create index(:relations, [:remote_actor_id]) create unique_index(:relations, [:local_actor_id, :remote_actor_id]) end end