type

RunnerOptions

type RunnerOptions struct { // AllowInsecureDatabase explicitly permits a PostgreSQL connection that can // fall back to plaintext. It is intended only for local migration drills. AllowInsecureDatabase bool // AllowMaintenance admits traffic-sensitive semantic steps such as content // rewrites, compiled data transforms, resource retirement, and // reference-index rebuilds. Every old writer must be stopped while they run. // It does not relax artifact validation. AllowMaintenance bool // AllowUnbounded permits a zero operational timeout. Without this explicit // admission, zero selects the runner's bounded production default. AllowUnbounded bool // AdvisoryLockWait bounds how long this runner waits for another migrator. AdvisoryLockWait time.Duration // LockTimeout bounds PostgreSQL lock acquisition inside a phase. LockTimeout time.Duration // StatementTimeout bounds one transactional SQL statement. StatementTimeout time.Duration // BatchTimeout bounds the complete execution of one checkpoint batch. BatchTimeout time.Duration // ConcurrentIndexTimeout bounds one CREATE/DROP INDEX CONCURRENTLY command. ConcurrentIndexTimeout time.Duration // IdleInTransactionTimeout protects a paused transactional phase. IdleInTransactionTimeout time.Duration // StopAfterPhase and StopAfterStep are explicit, successfully committed // rollout boundaries. A transaction phase can stop only at its final step. StopAfterPhase string StopAfterStep string // Notice receives non-blocking execution provenance after the complete // pending history has passed preflight. Notice func(MigrationNotice) // afterBatch is an internal deterministic interruption seam used to prove // that committed data and checkpoints resume together. Production callers // cannot configure it. afterBatch func(artifact, phase, step string, checkpoint json.RawMessage) error }

Explicit operational admissions, bounded timeouts, and resumable boundaries.

Source adapters/postgres/artifact_runner.go:28

@param AllowInsecureDatabase
AllowInsecureDatabase explicitly permits a PostgreSQL connection that can fall back to plaintext. It is intended only for local migration drills.
@param AllowMaintenance
AllowMaintenance admits traffic-sensitive semantic steps such as content rewrites, compiled data transforms, resource retirement, and reference-index rebuilds. Every old writer must be stopped while they run. It does not relax artifact validation.
@param AllowUnbounded
AllowUnbounded permits a zero operational timeout. Without this explicit admission, zero selects the runner's bounded production default.
@param AdvisoryLockWait
AdvisoryLockWait bounds how long this runner waits for another migrator.
@param LockTimeout
LockTimeout bounds PostgreSQL lock acquisition inside a phase.
@param StatementTimeout
StatementTimeout bounds one transactional SQL statement.
@param BatchTimeout
BatchTimeout bounds the complete execution of one checkpoint batch.
@param ConcurrentIndexTimeout
ConcurrentIndexTimeout bounds one CREATE/DROP INDEX CONCURRENTLY command.
@param IdleInTransactionTimeout
IdleInTransactionTimeout protects a paused transactional phase.
@param StopAfterPhase
StopAfterPhase and StopAfterStep are explicit, successfully committed rollout boundaries. A transaction phase can stop only at its final step.
@param StopAfterStep
The StopAfterStep value.
@param Notice
Notice reports the migration runner identity after pending history passes preflight.

AllowMaintenance admits traffic-sensitive steps only after every old writer and worker is stopped; it does not relax artifact validation. Zero timeouts use bounded defaults unless AllowUnbounded is explicit.

Related types