defmodule Odinsea.Database.Schema.Familiar do @moduledoc """ Ecto schema for the familiars table. Represents familiar data for characters. """ use Ecto.Schema import Ecto.Changeset @primary_key {:id, :id, autogenerate: true} schema "familiars" do field :characterid, :integer, default: 0 field :familiar, :integer, default: 0 field :name, :string, default: "" field :fatigue, :integer, default: 0 field :expiry, :integer, default: 0 field :vitality, :integer, default: 0 belongs_to :character, Odinsea.Database.Schema.Character, foreign_key: :characterid, references: :id, define_field: false end @doc """ Changeset for creating/updating a familiar. """ def changeset(familiar, attrs) do familiar |> cast(attrs, [:characterid, :familiar, :name, :fatigue, :expiry, :vitality]) |> validate_required([:characterid, :familiar]) end end