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

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.

Link to this section Summary

Link to this section Types

Specs

context() :: any()

Specs

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

Specs

t() :: t(module())

Specs

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