defmodule Odinsea.Database.Schema.Monsterbook do @moduledoc """ Ecto schema for the monsterbook table. Represents monster book cards collected by characters. """ use Ecto.Schema import Ecto.Changeset @primary_key {:id, :id, autogenerate: true} schema "monsterbook" do field :charid, :integer, default: 0 field :cardid, :integer, default: 0 field :level, :integer, default: 1 belongs_to :character, Odinsea.Database.Schema.Character, foreign_key: :charid, references: :id, define_field: false end @doc """ Changeset for creating/updating a monsterbook entry. """ def changeset(monsterbook, attrs) do monsterbook |> cast(attrs, [:charid, :cardid, :level]) |> validate_required([:charid, :cardid]) end end