30 lines
683 B
Elixir
30 lines
683 B
Elixir
defmodule Odinsea.Database.Schema.Donation do
|
|
@moduledoc """
|
|
Ecto schema for the donation table.
|
|
Represents donation records.
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@primary_key {:id, :id, autogenerate: true}
|
|
@timestamps_opts [inserted_at: :date, updated_at: false]
|
|
|
|
schema "donation" do
|
|
field :date, :naive_datetime
|
|
field :ip, :string
|
|
field :username, :string
|
|
field :quantity, :integer
|
|
field :status, :integer, default: 0
|
|
end
|
|
|
|
@doc """
|
|
Changeset for donation records.
|
|
"""
|
|
def changeset(donation, attrs) do
|
|
donation
|
|
|> cast(attrs, [:ip, :username, :quantity, :status])
|
|
|> validate_required([:ip, :username])
|
|
end
|
|
end
|