diff --git a/lib/runosaari/core/performer_performance.ex b/lib/runosaari/core/performer_performance.ex new file mode 100644 index 0000000..9fe24d5 --- /dev/null +++ b/lib/runosaari/core/performer_performance.ex @@ -0,0 +1,18 @@ +defmodule Runosaari.Core.PerformerPerformance do + use Ecto.Schema + import Ecto.Changeset + + schema "performer_performance" do + field :performer_id, :id + field :performance_id, :id + + timestamps() + end + + @doc false + def changeset(performer_performance, attrs) do + performer_performance + |> cast(attrs, []) + |> validate_required([]) + end +end diff --git a/priv/repo/migrations/20210403184119_create_performer_performance.exs b/priv/repo/migrations/20210403184119_create_performer_performance.exs new file mode 100644 index 0000000..240d5c5 --- /dev/null +++ b/priv/repo/migrations/20210403184119_create_performer_performance.exs @@ -0,0 +1,13 @@ +defmodule Runosaari.Repo.Migrations.CreatePerformerPerformance do + use Ecto.Migration + + def change do + create table(:performer_performance, primary_key: false) do + add :performer_id, references(:performers, on_delete: :nothing), primary_key: true + add :performance_id, references(:performances, on_delete: :nothing), primary_key: true + end + + create index(:performer_performance, [:performer_id]) + create index(:performer_performance, [:performance_id]) + end +end