# `Ecto.Migration.Reference`
[🔗](https://github.com/elixir-ecto/ecto_sql/blob/v3.14.0/lib/ecto/migration.ex#L503)

Used internally by adapters.

To define a reference in a migration, see `Ecto.Migration.references/2`.

# `t`

```elixir
@type t() :: %Ecto.Migration.Reference{
  column: atom(),
  match: atom() | nil,
  name: term(),
  on_delete: atom(),
  on_update: atom(),
  options: [{:prefix, String.t() | nil}],
  prefix: String.t() | nil,
  table: String.t(),
  type: atom(),
  validate: boolean(),
  with: list()
}
```

The reference struct.

The `:prefix` field is deprecated and should instead be stored in the `:options` field.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
