defmodule Scopes.Core.Message do use Ecto.Schema import Ecto.Changeset schema "messages" do field :domain, :string field :action, :string field :class, :string field :item, :string field :data, :map timestamps(type: :utc_datetime) end #create index (:messages, [:domain, :action, :class, :item]) #create index (:messages, [:domain, :class, :item]) @doc false def changeset(message, attrs) do message |> cast(attrs, [:domain, :action, :class, :item, :data]) |> validate_required([:domain, :action]) end end