Skip to content
dbpm

dbpm validate

Run the validation or smoke-test script declared in the package manifest (scripts.validate). The package must be installed and complete.

dbpm validate source [--env ENV] [--approve] [--dry-run]
[--package NAME] [--registry-url URL]
[--dependency-source SOURCE]...
[--connect STRING] [--runner EXEC]
flowchart LR
command["command"] --> dbpm["dbpm"]
dbpm --> validate["validate"]
validate --> source["source"]
source --> options["{ option }"]
options --> end_node(("end"))
options -. expands to .-> option["option"]
option --> env["--env ENV"]
option --> approve["--approve"]
option --> dry_run["--dry-run"]
option --> package["--package NAME"]
option --> registry_url["--registry-url URL"]
option --> dependency_source["--dependency-source SOURCE"]
option --> connect["--connect STRING"]
option --> runner["--runner EXEC"]
package -. only when source is a workspace root .-> package_note["selects workspace package"]
registry_url -. only for registry sources .-> registry_note["sets registry base URL"]
dependency_source -. repeatable .-> dep_note["validated before consumer"]
dry_run -. changes execution .-> dry_run_note["prints plan without executing"]
ArgumentDefaultDescription
sourcerequiredPackage source. See source types.
--envdevelopmentTarget environment name.
--approvefalseApprove policy-gated actions.
--dry-runfalsePrint the validation plan as JSON without executing.
--packagenonePackage name or application name to select when source is a workspace root.
--registry-urlDBPM_REGISTRY_URL or https://registry.dbpm.ioRegistry base URL for registry: sources.
--dependency-sourcenoneAdditional source for a dependency whose validation script should also run. Repeatable.
--connectDBPM_CONNECTConnect string.
--runnerDBPM_SQL_RUNNER or sqlplusSQL runner executable.

dbpm fails before running any script if:

  • The package is not installed → use dbpm install.
  • The package does not have a complete (C) deployment status.

When --dependency-source is provided, dbpm validates dependency sources before the consuming package, in dependency order. This is useful for confirming that all packages in a deployment graph are functioning correctly after a multi-package install or upgrade.

Validate a locally installed package:

Terminal window
dbpm validate ~/repos/utl_interval --connect user/pass@db

Validate a package from GitHub Packages:

Terminal window
dbpm validate \
gh-maven:512itconsulting/utl_interval:com.512itconsulting.database:utl_interval:1.0.0 \
--connect user/pass@db

Validate a consumer and its dependency in order:

Terminal window
dbpm validate \
gh-maven:rsantmyer/simple_scheduler:com.512itconsulting.database:simple_scheduler:1.1.0 \
--dependency-source gh-maven:512itconsulting/utl_interval:com.512itconsulting.database:utl_interval:1.0.0 \
--connect user/pass@db

Preview the validation plan:

Terminal window
dbpm validate ~/repos/utl_interval --dry-run --connect user/pass@db
  • If the manifest does not declare scripts.validate, the command fails with a clear error.
  • Validation scripts receive no arguments by default. The script is responsible for querying Core for installed state if needed.
  • Validate is a read-only operation from Core’s perspective — it does not update deployment status.

Source: docs/commands/validate.md