View Source Ecto.Schema.Metadata (Ecto v3.12.5)

Stores metadata of a struct.

State

The state of the schema is stored in the :state field and allows following values:

  • :built - the struct was constructed in memory and is not persisted to database yet;
  • :loaded - the struct was loaded from database and represents persisted data;
  • :deleted - the struct was deleted and no longer represents persisted data.

Source

The :source tracks the (table or collection) where the struct is or should be persisted to.

Prefix

Tracks the source prefix in the data storage.

Context

The :context field represents additional state some databases require for proper updates of data. It is not used by the built-in adapters of Ecto.Adapters.Postgres and Ecto.Adapters.MySQL.

Schema

The :schema field refers the module name for the schema this metadata belongs to.

Summary

Types

context()

@type context() :: any()

state()

@type state() :: :built | :loaded | :deleted

t()

@type t() :: t(module())

t(schema)

@type t(schema) :: %Ecto.Schema.Metadata{
  context: context(),
  prefix: Ecto.Schema.prefix(),
  schema: schema,
  source: Ecto.Schema.source(),
  state: state()
}