Provisioning-time seeding: stamp the database with its owning deployment's
tag, and write its initial execution-fence row. Idempotent for the SAME tag
(re-running provisioning is safe); throws for a DIFFERENT tag — a database is
never silently re-homed; deployment decommissioning deletes it instead.
initialExecutionFenceState is REQUIRED and has no default: a host that
means to bring a deployment up already locked for a migration must say so,
and one that forgets must not silently get an executing deployment. The fence
row is INSERT-if-absent, so re-seeding never reopens a fence an operator
closed.
Provisioning-time seeding: stamp the database with its owning deployment's tag, and write its initial execution-fence row. Idempotent for the SAME tag (re-running provisioning is safe); throws for a DIFFERENT tag — a database is never silently re-homed; deployment decommissioning deletes it instead.
initialExecutionFenceStateis REQUIRED and has no default: a host that means to bring a deployment up already locked for a migration must say so, and one that forgets must not silently get an executing deployment. The fence row is INSERT-if-absent, so re-seeding never reopens a fence an operator closed.