defmodule ActiveStorage.Attachment do
use Ecto.Schema
import Ecto.Changeset
alias ActiveStorage.Blob
schema "active_storage_attachments" do
field :name, :string, null: false
field :record_type, :string, null: false
field :record_id, :integer, null: false
belongs_to :blob, Blob
timestamps(inserted_at: :created_at, updated_at: false)
end
@doc false
def changeset(attachment, attrs) do
attachment
|> cast(attrs, [
:name,
:record_type,
:record_id,
:created_at
])
|> cast_assoc(:blob)
|> validate_required([
:name,
:record_type,
:record_id,
:created_at
])
|> assoc_constraint(:blob)
end
end