Append-only version table for product_route. Carries the routing
decision: which vendor handles the route, and the structured matcher that
gates when this version applies. Per-vendor fees and limits live on
product_vendor — they're shared across every route pinned to a vendor
and not encoded here.
Every change to vendor or matcher inserts a new row and the identity
table's currentVersionId is repointed in the same transaction. UPDATE
and DELETE are blocked by the product_route_version_immutable trigger.
No externalId — only the identity row is externally addressable.
Append-only version table for
product_route. Carries the routing decision: which vendor handles the route, and the structured matcher that gates when this version applies. Per-vendor fees and limits live onproduct_vendor— they're shared across every route pinned to a vendor and not encoded here.Every change to vendor or matcher inserts a new row and the identity table's
currentVersionIdis repointed in the same transaction. UPDATE and DELETE are blocked by theproduct_route_version_immutabletrigger.No
externalId— only the identity row is externally addressable.