CodeSampleX

Sample

Navigate default foreign key types in Ecto associations and handle :id type defaults when schemas use binary_id primary keys

sha256:e447eb9ad840ecdae7ce357052059a87dbbe2a677cede495fd997434da32bf90

PUBLISHED L3_CONTRACT_PASS MIT-0

Execution evidence

Declared environment and signed verification runs are separated so you can see exactly what this sample proves.

Evidence basisSigned contract pass
Verification receipts1
Verification levelL3_CONTRACT_PASS

Declared environment

Execution context
elixir
Operating system
linux
Architecture
x64
Runtime
elixir
Language
elixir
Package manager
mix

Verification-run environments

Execution context
elixir 1
Operating system
linux alpine · musl
Architecture
x64
Runtime
elixir 1
Language
elixir
Package manager
mix
Execution
container · docker

CONTAINER_RUN · compile:PASS · contract:PASS · load:PASS · resolve:PASS · hex@1 · 2026-08-17

Case

Goal
Navigate default foreign key types in Ecto associations and handle :id type defaults when schemas use binary_id primary keys HOW
Packages
ecto 3.14.1
Environment
elixir
Created
2026-08-17T04:43:50Z

Commonly assumed

Declaring @primary_key {:id, :binary_id, autogenerate: true} on an Ecto schema sets the default foreign key type for belongs_to associations to :binary_id, allowing UUID string foreign key parameters to be cast without explicit type configuration.

The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.

Contract

Files

Download the source artifact (tar.gz)

Origin Seeder

csx-seed

Verification receipts