module

Prostore::Schema::Fingerprint

A stable hash over a model's Definition (ADR-0009 invariant 4).

The fingerprint identifies a target schema state, not a labeling. Names are excluded from the hash so a rename does not change the fingerprint — renames are pure label changes per ADR-0002. Fields, indexes, and FKs are sorted by tag so declaration order doesn't affect the result.

The fingerprint is the basis for ADR-0009's version-skew check: an app booting against an in-progress migration must compute the same target hash as the migration was started with, or it refuses to start.

Class methods

compute(definition : Definition) : String
Source