Schema Atlas

atlas · verified 2026-10-23T11:51:54.104692+00:00 · map sha256:663921390538413e…

driftBreaking change: code written against the previous map can fail.
0tables
0columns
0retyped
5new tenant drift

Logical tables

customers

500 tenant schemas · 4 columns · 3 structural variant(s) · 2 drifting
ColumnTypeFlags
iduuidPK NOT NULL
emailtextNOT NULL
display_nametext—
created_attimestamp with time zoneNOT NULL
a41ce52d-e34b-4279-8077-ecac9ec1b36b — changed display_name
a5dc99b2-4faa-46d8-89c3-5c10b24298f7 — extra phone

orders

500 tenant schemas · 4 columns · 4 structural variant(s) · 3 drifting
ColumnTypeFlags
iduuidPK NOT NULL
customer_iduuidNOT NULL
order_subtotal_centsbigintNOT NULL
order_placed_attimestamp with time zoneNOT NULL
22222222-2222-2222-2222-222222222222 — extra rush_shipping
a1d40a1f-2895-4e43-89a4-7c70ecac4731 — extra gift_note
a73c4bdf-f32c-47c4-8617-cd5fdfa61f6a — extra priority

payments

500 tenant schemas · 6 columns · 4 structural variant(s) · 3 drifting
ColumnTypeFlags
iduuidPK NOT NULL
order_iduuidNOT NULL
gross_amount_minornumeric(12,2)NOT NULL
currencycharacter(3)NOT NULL
funds_captured_attimestamp with time zone—
fee_centsbigintNOT NULL
22222222-2222-2222-2222-222222222222 — missing fee_cents; extra legacy_ref
33333333-3333-3333-3333-333333333333 — missing currency, fee_cents
ae06c110-c543-416a-828b-a9a0868e0021 — extra refund_ref

public.tenants

shared table, not tenant-scoped
ColumnTypeFlags
iduuidPK NOT NULL
nametextNOT NULL
plantextNOT NULL
created_attimestamp with time zoneNOT NULL

What this map cannot tell you

It compares column name, type and nullability. It does not read defaults, primary-key changes, unique or check constraints, indexes, foreign keys, triggers or row-level security. A map that agrees with the database can still hide a constraint that disagrees.

Use it from an agent

Add .gitlab/duo/mcp.json and ask Duo CLI: “Which tables have a currency column, and which tenants are missing it?” The answer comes from this map, not from the model.