Packages

Track changes to your database with Ecto.

Current section

Files

Jump to
footprint lib version.ex
Raw

lib/version.ex

defmodule Footprint.Version do
@moduledoc """
Documentation for Version.
"""
use Ecto.Schema
import Ecto.Changeset
alias Footprint.Version
@type t :: %Version{}
schema "versions" do
field(:no, :integer)
field(:item_base, :string)
field(:item_id, :integer)
field(:item_type, :string)
field(:event, :string)
field(:item_prev, :map)
field(:item_current, :map)
field(:item_changes, :map)
field(:originator_id, :integer)
field(:origin, :string)
field(:meta, :map)
timestamps(updated_at: false)
end
def changeset(attrs \\ %{}) do
required_fields = ~w(
no
item_base
item_id
item_type
item_changes
item_prev
item_current
originator_id
)a
optional_fields = ~w(
origin
meta
)a
%Version{}
|> cast(attrs, required_fields ++ optional_fields)
|> validate_required(required_fields)
end
end