defmodule Odinsea.Database.Schema.GuildSkill do @moduledoc """ Ecto schema for the guildskills table. Represents purchased guild skills. """ use Ecto.Schema import Ecto.Changeset @primary_key {:id, :id, autogenerate: true} schema "guildskills" do field :guildid, :integer, default: 0 field :skillid, :integer, default: 0 field :level, :integer, default: 1 field :timestamp, :integer, default: 0 field :purchaser, :string, default: "" belongs_to :guild, Odinsea.Database.Schema.Guild, foreign_key: :guildid, references: :guildid, define_field: false end @doc """ Changeset for creating/updating a guild skill. """ def changeset(guild_skill, attrs) do guild_skill |> cast(attrs, [:guildid, :skillid, :level, :timestamp, :purchaser]) |> validate_required([:guildid, :skillid]) end end