Install or initialize Core, the dbpm in-database deployment substrate, into an empty or prepared schema. This command is required before any ordinary package deployments can run.
dbpm bootstrap-core source [--approve] [--package NAME]
[--policy locked|unlocked]
[--deploy-environment NAME]
[--registry-url URL] [--dry-run]
[--connect STRING | --connect-name NAME] [--runner EXEC]
flowchart LR
command["command"] --> dbpm["dbpm"]
dbpm --> bootstrap["bootstrap-core"]
bootstrap --> source["source"]
source --> options["{ option }"]
options --> end_node(("end"))
options -. expands to .-> option["option"]
option --> approve["--approve"]
option --> policy["--policy locked|unlocked"]
option --> deploy_environment["--deploy-environment NAME"]
option --> package["--package NAME"]
option --> registry_url["--registry-url URL"]
option --> dry_run["--dry-run"]
option --> connect["--connect STRING or --connect-name NAME"]
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"]
dry_run -. changes execution .-> dry_run_note["prints plan without executing"]
policy -. bootstrap only .-> policy_note["sets DEPLOY_LOCKED before Core exists"]
deploy_environment -. bootstrap only .-> env_note["sets DEPLOY_ENVIRONMENT before Core exists"]
| Argument | Default | Description |
|---|---|---|
source |
required | Package source for the Core artifact. See source types. |
--approve |
false | Approve policy-gated actions that would otherwise be blocked. |
--policy |
unlocked |
Core bootstrap deployment-lock policy. locked writes DEPLOY_LOCKED=Y; unlocked writes DEPLOY_LOCKED=N. |
--deploy-environment |
none | Core DEPLOY_ENVIRONMENT label to write during bootstrap, such as DEV, QLAB01, PLAB, or PROD. |
--package |
none | Package name or application name to select when source is a workspace root. |
--registry-url |
DBPM_REGISTRY_URL or https://registry.dbpm.io |
Registry base URL for registry: sources. |
--dry-run |
false | Print the deployment plan as JSON without executing. |
--connect |
DBPM_CONNECT |
Raw SQL*Plus/SQLcl connect string. Mutually exclusive with --connect-name. |
--connect-name |
DBPM_CONNECT_NAME |
SQLcl saved connection name. Requires SQLcl via --runner or DBPM_SQL_RUNNER. |
--runner |
DBPM_SQL_RUNNER or sqlplus |
SQL runner executable. |
Bootstrap Core from GitHub Packages:
dbpm bootstrap-core \
gh-maven:512itconsulting/core:com.512itconsulting.database:core:3.5.0 \
--connect user/pass@dbBootstrap Core for a locked production-like schema:
dbpm bootstrap-core \
gh-maven:512itconsulting/core:com.512itconsulting.database:core:3.5.0 \
--policy locked \
--deploy-environment PROD \
--connect user/pass@dbPreview the plan without executing:
dbpm bootstrap-core \
gh-maven:512itconsulting/core:com.512itconsulting.database:core:3.5.0 \
--dry-run- Core uses its own bootstrap manifest because
pkg_applicationdoes not exist until Core's own objects are created. The bootstrap path is distinct from the ordinary install path. - Core 3.5.0 and newer require
DEPLOY_LOCKEDandDEPLOY_ENVIRONMENTduring bootstrap. dbpm does not read Core deployment-lock policy before Core exists, so use--policyand--deploy-environmentfor bootstrap-time values. - Run
dbpm check-coreafter bootstrap to verify the installation. - Core upgrades after initial bootstrap use
dbpm upgrade, notdbpm bootstrap-core.