defmodule Odinsea.Database.Schema.Skill do @moduledoc """ Ecto schema for the skills table. Represents character skill levels. """ use Ecto.Schema import Ecto.Changeset @primary_key {:id, :id, autogenerate: true} schema "skills" do field :skillid, :integer, default: 0 field :characterid, :integer, default: 0 field :skilllevel, :integer, default: 0 field :masterlevel, :integer, default: 0 field :expiration, :integer, default: -1 belongs_to :character, Odinsea.Database.Schema.Character, foreign_key: :characterid, references: :id, define_field: false end @doc """ Changeset for creating/updating a skill. """ def changeset(skill, attrs) do skill |> cast(attrs, [:skillid, :characterid, :skilllevel, :masterlevel, :expiration]) |> validate_required([:skillid, :characterid]) end end