KeyFoldAccount identity atlas
Field notes

The rows can look clear. The insert can still fail.

A projection tells you about values already stored. It cannot tell you which columns a database will require for the next account.

Checked October 15, 2026 · Better Auth 1.7.2 → 1.7.3

One fixture exposes the difference.

Our disposable SQLite fixture started with the core account schema from 1.7.2. A real email/password signup wrote an issuer value. We then initialized 1.7.3 against that same schema. Its schema validation reported a required column that the library would not write: account.issuer.

There was no duplicate account key in that fixture. The blocker was a required field left by the earlier schema. Changing the dataset shown in the map would not resolve the database constraint.

Read the actual schema, not just the rows.

The map's Schema notes let you record whether the issuer column is absent, nullable or required without a default, and whether the issuer/accountId unique index remains. These are declarations. They are not introspected by the browser and they are reset when you load another dataset.

What you observedMeaning in this tool
NOT NULL, no defaultA blocker for the pinned write contract is reported. This is based on your declaration.
Issuer index still presentThe official index cleanup still needs review, even if the column is optional.
One answer unknownSchema evidence stays incomplete.
Column optional/absent; index absentNo listed issuer blocker was declared. This is not a general schema clearance.

Choose the database-specific procedure.

Use the current official upgrade guide for your database, adapter, table names and ORM. SQLite table reconstruction, PostgreSQL constraint changes and other engines are not interchangeable. Preserve custom fields, indexes and foreign keys. The official guide notes that auth migrate does not perform this issuer cleanup; the map does not attempt it either.

Our isolated test removed the obsolete requirement, then verified both the old login and a new signup. That proves the fixture recovered. Your own restored database needs its own evidence, including account linking and provider-specific flows you actually use.

Keep the write boundary visible.

A read-only inspection can precede a planned maintenance window. The production cutover is a separate operation with its own backup, write pause and recovery plan. Record the package and schema versions together. Do not disable schema validation to make a failure message disappear: a missing check does not make the next insert valid.

Official database-specific upgrade guide; upstream account compatibility tests.

Verify the old login and the next signup ↗