defmodule ArcadiaCloud.Deployments.CloudDeploymentEvent do use Ecto.Schema import Ecto.Changeset @primary_key {:id, :binary_id, autogenerate: true} @foreign_key_type :binary_id schema "cloud_deployment_events" do field :from_state, :string field :to_state, :string field :reason, :string field :actor, :string field :notes, :string field :occurred_at, :utc_datetime belongs_to :deployment, ArcadiaCloud.Deployments.CloudDeployment end @required ~w(deployment_id to_state occurred_at)a @optional ~w(from_state reason actor notes)a def changeset(event, attrs) do event |> cast(attrs, @required ++ @optional) |> validate_required(@required) end end