heroku 10.13.2 → 11.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -13
- package/bin/dev +4 -12
- package/bin/dev.cmd +1 -1
- package/bin/run +4 -39
- package/lib/analytics.d.ts +3 -2
- package/lib/analytics.js +32 -27
- package/lib/commands/access/add.d.ts +4 -4
- package/lib/commands/access/add.js +27 -32
- package/lib/commands/access/index.d.ts +3 -3
- package/lib/commands/access/index.js +32 -34
- package/lib/commands/access/remove.d.ts +2 -2
- package/lib/commands/access/remove.js +14 -17
- package/lib/commands/access/update.d.ts +4 -4
- package/lib/commands/access/update.js +24 -28
- package/lib/commands/accounts/add.d.ts +1 -1
- package/lib/commands/accounts/add.js +14 -17
- package/lib/commands/accounts/current.js +12 -15
- package/lib/commands/accounts/index.js +11 -14
- package/lib/commands/accounts/remove.d.ts +1 -1
- package/lib/commands/accounts/remove.js +14 -17
- package/lib/commands/accounts/set.d.ts +1 -1
- package/lib/commands/accounts/set.js +12 -15
- package/lib/commands/addons/attach.d.ts +6 -6
- package/lib/commands/addons/attach.js +22 -25
- package/lib/commands/addons/create.d.ts +8 -7
- package/lib/commands/addons/create.js +42 -45
- package/lib/commands/addons/destroy.d.ts +7 -6
- package/lib/commands/addons/destroy.js +33 -36
- package/lib/commands/addons/detach.d.ts +3 -3
- package/lib/commands/addons/detach.js +18 -22
- package/lib/commands/addons/docs.d.ts +5 -4
- package/lib/commands/addons/docs.js +21 -23
- package/lib/commands/addons/index.d.ts +4 -4
- package/lib/commands/addons/index.js +90 -100
- package/lib/commands/addons/info.d.ts +3 -3
- package/lib/commands/addons/info.js +28 -35
- package/lib/commands/addons/open.d.ts +4 -4
- package/lib/commands/addons/open.js +27 -33
- package/lib/commands/addons/plans.d.ts +2 -2
- package/lib/commands/addons/plans.js +20 -23
- package/lib/commands/addons/rename.d.ts +2 -2
- package/lib/commands/addons/rename.js +12 -15
- package/lib/commands/addons/services.d.ts +1 -1
- package/lib/commands/addons/services.js +13 -16
- package/lib/commands/addons/upgrade.d.ts +4 -4
- package/lib/commands/addons/upgrade.js +52 -60
- package/lib/commands/addons/wait.d.ts +5 -4
- package/lib/commands/addons/wait.js +26 -28
- package/lib/commands/apps/create.d.ts +14 -12
- package/lib/commands/apps/create.js +89 -95
- package/lib/commands/apps/destroy.d.ts +4 -4
- package/lib/commands/apps/destroy.js +22 -26
- package/lib/commands/apps/errors.d.ts +6 -6
- package/lib/commands/apps/errors.js +54 -58
- package/lib/commands/apps/favorites/add.d.ts +2 -2
- package/lib/commands/apps/favorites/add.js +15 -18
- package/lib/commands/apps/favorites/index.d.ts +1 -1
- package/lib/commands/apps/favorites/index.js +12 -15
- package/lib/commands/apps/favorites/remove.d.ts +2 -2
- package/lib/commands/apps/favorites/remove.js +13 -16
- package/lib/commands/apps/index.d.ts +6 -6
- package/lib/commands/apps/index.js +41 -44
- package/lib/commands/apps/info.d.ts +6 -6
- package/lib/commands/apps/info.js +50 -53
- package/lib/commands/apps/join.d.ts +2 -2
- package/lib/commands/apps/join.js +13 -16
- package/lib/commands/apps/leave.d.ts +2 -2
- package/lib/commands/apps/leave.js +14 -17
- package/lib/commands/apps/lock.d.ts +2 -2
- package/lib/commands/apps/lock.js +15 -19
- package/lib/commands/apps/open.d.ts +3 -3
- package/lib/commands/apps/open.js +18 -21
- package/lib/commands/apps/rename.d.ts +3 -3
- package/lib/commands/apps/rename.js +26 -29
- package/lib/commands/apps/stacks/index.d.ts +2 -2
- package/lib/commands/apps/stacks/index.js +17 -21
- package/lib/commands/apps/stacks/set.d.ts +3 -3
- package/lib/commands/apps/stacks/set.js +23 -27
- package/lib/commands/apps/transfer.d.ts +11 -6
- package/lib/commands/apps/transfer.js +53 -61
- package/lib/commands/apps/unlock.d.ts +2 -2
- package/lib/commands/apps/unlock.js +15 -19
- package/lib/commands/auth/2fa/disable.js +10 -13
- package/lib/commands/auth/2fa/index.js +8 -10
- package/lib/commands/auth/login.d.ts +6 -2
- package/lib/commands/auth/login.js +12 -15
- package/lib/commands/auth/logout.js +7 -10
- package/lib/commands/auth/token.d.ts +0 -2
- package/lib/commands/auth/token.js +9 -14
- package/lib/commands/auth/whoami.js +4 -7
- package/lib/commands/authorizations/create.d.ts +5 -5
- package/lib/commands/authorizations/create.js +22 -25
- package/lib/commands/authorizations/index.d.ts +1 -1
- package/lib/commands/authorizations/index.js +20 -26
- package/lib/commands/authorizations/info.d.ts +2 -2
- package/lib/commands/authorizations/info.js +14 -17
- package/lib/commands/authorizations/revoke.d.ts +1 -1
- package/lib/commands/authorizations/revoke.js +14 -17
- package/lib/commands/authorizations/rotate.d.ts +1 -1
- package/lib/commands/authorizations/rotate.js +11 -14
- package/lib/commands/authorizations/update.d.ts +4 -4
- package/lib/commands/authorizations/update.js +16 -19
- package/lib/commands/buildpacks/add.d.ts +4 -4
- package/lib/commands/buildpacks/add.js +20 -23
- package/lib/commands/buildpacks/clear.d.ts +2 -2
- package/lib/commands/buildpacks/clear.js +9 -12
- package/lib/commands/buildpacks/index.d.ts +2 -2
- package/lib/commands/buildpacks/index.js +16 -19
- package/lib/commands/buildpacks/info.d.ts +1 -1
- package/lib/commands/buildpacks/info.js +25 -30
- package/lib/commands/buildpacks/remove.d.ts +4 -4
- package/lib/commands/buildpacks/remove.js +23 -26
- package/lib/commands/buildpacks/search.d.ts +4 -4
- package/lib/commands/buildpacks/search.js +26 -31
- package/lib/commands/buildpacks/set.d.ts +4 -4
- package/lib/commands/buildpacks/set.js +20 -22
- package/lib/commands/buildpacks/versions.d.ts +1 -1
- package/lib/commands/buildpacks/versions.js +26 -32
- package/lib/commands/certs/add.d.ts +18 -5
- package/lib/commands/certs/add.js +60 -54
- package/lib/commands/certs/auto/disable.d.ts +3 -3
- package/lib/commands/certs/auto/disable.js +20 -22
- package/lib/commands/certs/auto/enable.d.ts +4 -3
- package/lib/commands/certs/auto/enable.js +28 -30
- package/lib/commands/certs/auto/index.d.ts +3 -3
- package/lib/commands/certs/auto/index.js +48 -44
- package/lib/commands/certs/auto/refresh.d.ts +2 -2
- package/lib/commands/certs/auto/refresh.js +11 -14
- package/lib/commands/certs/generate.d.ts +14 -13
- package/lib/commands/certs/generate.js +41 -40
- package/lib/commands/certs/index.d.ts +2 -2
- package/lib/commands/certs/index.js +13 -16
- package/lib/commands/certs/info.d.ts +5 -5
- package/lib/commands/certs/info.js +21 -24
- package/lib/commands/certs/remove.d.ts +5 -5
- package/lib/commands/certs/remove.js +24 -26
- package/lib/commands/certs/update.d.ts +7 -7
- package/lib/commands/certs/update.js +39 -41
- package/lib/commands/ci/config/get.d.ts +5 -6
- package/lib/commands/ci/config/get.js +25 -29
- package/lib/commands/ci/config/index.d.ts +5 -5
- package/lib/commands/ci/config/index.js +27 -30
- package/lib/commands/ci/config/set.d.ts +3 -3
- package/lib/commands/ci/config/set.js +29 -32
- package/lib/commands/ci/config/unset.d.ts +3 -3
- package/lib/commands/ci/config/unset.js +22 -25
- package/lib/commands/ci/debug.d.ts +4 -4
- package/lib/commands/ci/debug.js +52 -57
- package/lib/commands/ci/index.d.ts +5 -5
- package/lib/commands/ci/index.js +18 -21
- package/lib/commands/ci/info.d.ts +5 -5
- package/lib/commands/ci/info.js +21 -24
- package/lib/commands/ci/last.d.ts +4 -4
- package/lib/commands/ci/last.js +19 -22
- package/lib/commands/ci/migrate-manifest.js +28 -28
- package/lib/commands/ci/open.d.ts +3 -4
- package/lib/commands/ci/open.js +15 -19
- package/lib/commands/ci/rerun.d.ts +4 -4
- package/lib/commands/ci/rerun.js +26 -29
- package/lib/commands/ci/run.d.ts +3 -3
- package/lib/commands/ci/run.js +24 -27
- package/lib/commands/clients/create.d.ts +4 -4
- package/lib/commands/clients/create.js +23 -26
- package/lib/commands/clients/destroy.d.ts +1 -1
- package/lib/commands/clients/destroy.js +10 -13
- package/lib/commands/clients/index.d.ts +1 -1
- package/lib/commands/clients/index.js +18 -21
- package/lib/commands/clients/info.d.ts +3 -3
- package/lib/commands/clients/info.js +20 -23
- package/lib/commands/clients/rotate.d.ts +3 -3
- package/lib/commands/clients/rotate.js +20 -23
- package/lib/commands/clients/update.d.ts +3 -3
- package/lib/commands/clients/update.js +19 -22
- package/lib/commands/config/edit.d.ts +3 -3
- package/lib/commands/config/edit.js +45 -51
- package/lib/commands/config/get.d.ts +4 -4
- package/lib/commands/config/get.js +19 -23
- package/lib/commands/config/index.d.ts +4 -4
- package/lib/commands/config/index.js +18 -22
- package/lib/commands/config/set.d.ts +2 -2
- package/lib/commands/config/set.js +31 -34
- package/lib/commands/config/unset.d.ts +2 -2
- package/lib/commands/config/unset.js +23 -31
- package/lib/commands/console.d.ts +4 -4
- package/lib/commands/console.js +14 -17
- package/lib/commands/container/login.d.ts +6 -1
- package/lib/commands/container/login.js +39 -41
- package/lib/commands/container/logout.d.ts +4 -1
- package/lib/commands/container/logout.js +21 -23
- package/lib/commands/container/pull.d.ts +5 -3
- package/lib/commands/container/pull.js +25 -27
- package/lib/commands/container/push.d.ts +9 -6
- package/lib/commands/container/push.js +67 -69
- package/lib/commands/container/release.d.ts +3 -3
- package/lib/commands/container/release.js +31 -32
- package/lib/commands/container/rm.d.ts +2 -2
- package/lib/commands/container/rm.js +19 -22
- package/lib/commands/container/run.d.ts +6 -4
- package/lib/commands/container/run.js +32 -34
- package/lib/commands/dashboard.js +52 -56
- package/lib/commands/domains/add.d.ts +12 -7
- package/lib/commands/domains/add.js +64 -70
- package/lib/commands/domains/clear.d.ts +2 -3
- package/lib/commands/domains/clear.js +12 -17
- package/lib/commands/domains/index.d.ts +11 -31
- package/lib/commands/domains/index.js +136 -92
- package/lib/commands/domains/info.d.ts +3 -4
- package/lib/commands/domains/info.js +20 -21
- package/lib/commands/domains/remove.d.ts +3 -4
- package/lib/commands/domains/remove.js +15 -21
- package/lib/commands/domains/update.d.ts +4 -5
- package/lib/commands/domains/update.js +20 -26
- package/lib/commands/domains/wait.d.ts +3 -4
- package/lib/commands/domains/wait.js +13 -17
- package/lib/commands/drains/add.d.ts +3 -3
- package/lib/commands/drains/add.js +13 -16
- package/lib/commands/drains/index.d.ts +4 -4
- package/lib/commands/drains/index.js +28 -25
- package/lib/commands/drains/remove.d.ts +3 -3
- package/lib/commands/drains/remove.js +14 -17
- package/lib/commands/features/disable.d.ts +3 -3
- package/lib/commands/features/disable.js +15 -18
- package/lib/commands/features/enable.d.ts +3 -3
- package/lib/commands/features/enable.js +15 -18
- package/lib/commands/features/index.d.ts +3 -3
- package/lib/commands/features/index.js +18 -23
- package/lib/commands/features/info.d.ts +4 -4
- package/lib/commands/features/info.js +18 -21
- package/lib/commands/git/clone.d.ts +3 -3
- package/lib/commands/git/clone.js +17 -21
- package/lib/commands/git/credentials.d.ts +1 -1
- package/lib/commands/git/credentials.js +15 -16
- package/lib/commands/git/remote.d.ts +2 -2
- package/lib/commands/git/remote.js +19 -23
- package/lib/commands/keys/add.d.ts +3 -3
- package/lib/commands/keys/add.js +36 -39
- package/lib/commands/keys/clear.js +6 -9
- package/lib/commands/keys/index.d.ts +2 -2
- package/lib/commands/keys/index.js +16 -19
- package/lib/commands/keys/remove.d.ts +1 -1
- package/lib/commands/keys/remove.js +14 -17
- package/lib/commands/labs/disable.d.ts +6 -3
- package/lib/commands/labs/disable.js +20 -23
- package/lib/commands/labs/enable.d.ts +3 -3
- package/lib/commands/labs/enable.js +16 -19
- package/lib/commands/labs/index.d.ts +3 -3
- package/lib/commands/labs/index.js +23 -28
- package/lib/commands/labs/info.d.ts +4 -4
- package/lib/commands/labs/info.js +19 -22
- package/lib/commands/logs.d.ts +10 -10
- package/lib/commands/logs.js +74 -74
- package/lib/commands/maintenance/index.d.ts +2 -2
- package/lib/commands/maintenance/index.js +10 -13
- package/lib/commands/maintenance/off.d.ts +2 -2
- package/lib/commands/maintenance/off.js +12 -15
- package/lib/commands/maintenance/on.d.ts +2 -2
- package/lib/commands/maintenance/on.js +12 -15
- package/lib/commands/mcp/start.d.ts +1 -4
- package/lib/commands/mcp/start.js +9 -14
- package/lib/commands/notifications/index.d.ts +5 -5
- package/lib/commands/notifications/index.js +27 -30
- package/lib/commands/orgs/index.d.ts +3 -3
- package/lib/commands/orgs/index.js +12 -15
- package/lib/commands/orgs/open.d.ts +1 -1
- package/lib/commands/orgs/open.js +12 -15
- package/lib/commands/prompt.js +10 -13
- package/lib/commands/rake.d.ts +6 -6
- package/lib/commands/rake.js +19 -23
- package/lib/commands/regions.d.ts +3 -3
- package/lib/commands/regions.js +20 -19
- package/lib/commands/repl.js +8 -11
- package/lib/commands/reviewapps/disable.d.ts +9 -9
- package/lib/commands/reviewapps/disable.js +45 -48
- package/lib/commands/reviewapps/enable.d.ts +6 -6
- package/lib/commands/reviewapps/enable.js +35 -38
- package/lib/commands/sessions/destroy.d.ts +1 -1
- package/lib/commands/sessions/destroy.js +10 -13
- package/lib/commands/sessions/index.d.ts +1 -1
- package/lib/commands/sessions/index.js +25 -21
- package/lib/commands/status.d.ts +1 -1
- package/lib/commands/status.js +41 -52
- package/lib/commands/teams/index.d.ts +1 -1
- package/lib/commands/teams/index.js +14 -17
- package/lib/commands/telemetry/add.d.ts +6 -6
- package/lib/commands/telemetry/add.js +23 -25
- package/lib/commands/telemetry/index.d.ts +3 -3
- package/lib/commands/telemetry/index.js +14 -17
- package/lib/commands/telemetry/info.d.ts +1 -1
- package/lib/commands/telemetry/info.js +11 -14
- package/lib/commands/telemetry/remove.d.ts +4 -4
- package/lib/commands/telemetry/remove.js +19 -21
- package/lib/commands/telemetry/update.d.ts +5 -5
- package/lib/commands/telemetry/update.js +25 -27
- package/lib/commands/usage/addons.d.ts +2 -2
- package/lib/commands/usage/addons.js +26 -29
- package/lib/deps.d.ts +3 -3
- package/lib/deps.js +9 -14
- package/lib/file.d.ts +1 -1
- package/lib/file.js +26 -37
- package/lib/global_telemetry.d.ts +2 -1
- package/lib/global_telemetry.js +51 -43
- package/lib/hooks/command_not_found/performance_analytics.js +2 -4
- package/lib/hooks/init/performance_analytics.js +2 -4
- package/lib/hooks/init/terms-of-service.js +6 -10
- package/lib/hooks/init/version.js +3 -5
- package/lib/hooks/postrun/performance_analytics.js +2 -4
- package/lib/hooks/prerun/analytics.js +4 -6
- package/lib/hooks/recache.d.ts +1 -3
- package/lib/hooks/recache.js +47 -56
- package/lib/hooks/update/brew.js +9 -10
- package/lib/hooks/update/completions.js +1 -3
- package/lib/hooks/update/plugin-migrate.js +5 -9
- package/lib/hooks/update/tidy.js +8 -10
- package/lib/index.js +1 -5
- package/lib/lib/accounts/accounts.d.ts +20 -5
- package/lib/lib/accounts/accounts.js +67 -64
- package/lib/lib/addons/addons_wait.js +15 -23
- package/lib/lib/addons/create_addon.js +16 -20
- package/lib/lib/addons/destroy_addon.js +12 -16
- package/lib/lib/addons/resolve.d.ts +1 -1
- package/lib/lib/addons/resolve.js +35 -47
- package/lib/lib/addons/util.js +18 -27
- package/lib/lib/api.d.ts +1 -1
- package/lib/lib/api.js +42 -65
- package/lib/lib/apps/app-transfer.js +8 -12
- package/lib/lib/apps/error_info.js +1 -3
- package/lib/lib/apps/generation.d.ts +2 -2
- package/lib/lib/apps/generation.js +3 -9
- package/lib/lib/authorizations/authorizations.js +8 -11
- package/lib/lib/autocomplete/base.d.ts +1 -11
- package/lib/lib/autocomplete/base.js +49 -40
- package/lib/lib/autocomplete/cache.js +3 -8
- package/lib/lib/autocomplete/completions.d.ts +1 -41
- package/lib/lib/autocomplete/completions.js +290 -261
- package/lib/lib/buildpacks/buildpacks.js +52 -56
- package/lib/lib/certs/certificate_details.d.ts +1 -1
- package/lib/lib/certs/certificate_details.js +13 -17
- package/lib/lib/certs/display_table.d.ts +1 -1
- package/lib/lib/certs/display_table.js +5 -8
- package/lib/lib/certs/domains.d.ts +1 -1
- package/lib/lib/certs/domains.js +21 -39
- package/lib/lib/certs/flags.d.ts +1 -1
- package/lib/lib/certs/flags.js +2 -5
- package/lib/lib/certs/format_date.js +3 -6
- package/lib/lib/certs/get_cert_and_key.d.ts +10 -8
- package/lib/lib/certs/get_cert_and_key.js +8 -10
- package/lib/lib/ci/git.d.ts +2 -1
- package/lib/lib/ci/git.js +10 -23
- package/lib/lib/ci/interfaces/kolkrabbi.js +1 -2
- package/lib/lib/ci/pipelines.d.ts +24 -1
- package/lib/lib/ci/pipelines.js +68 -50
- package/lib/lib/ci/source.js +9 -12
- package/lib/lib/ci/test-run.js +47 -47
- package/lib/lib/ci/validate.d.ts +2 -2
- package/lib/lib/ci/validate.js +3 -7
- package/lib/lib/clients/clients.js +3 -6
- package/lib/lib/config/quote.js +9 -10
- package/lib/lib/config/util.d.ts +1 -1
- package/lib/lib/config/util.js +27 -10
- package/lib/lib/confirmCommand.d.ts +3 -1
- package/lib/lib/confirmCommand.js +20 -21
- package/lib/lib/container/debug.d.ts +2 -2
- package/lib/lib/container/debug.js +2 -5
- package/lib/lib/container/docker_helper.d.ts +16 -14
- package/lib/lib/container/docker_helper.js +177 -173
- package/lib/lib/container/helpers.js +7 -12
- package/lib/lib/container/streamer.js +3 -7
- package/lib/lib/domains/domains.js +17 -23
- package/lib/lib/domains/wait-for-domain.js +7 -11
- package/lib/lib/git/git.d.ts +1 -1
- package/lib/lib/git/git.js +24 -25
- package/lib/lib/git/push.js +1 -4
- package/lib/lib/local/fork-foreman.js +5 -9
- package/lib/lib/local/load-foreman-procfile.d.ts +2 -0
- package/lib/lib/local/load-foreman-procfile.js +3 -2
- package/lib/lib/local/run-foreman.js +7 -2
- package/lib/lib/members/util.js +8 -13
- package/lib/lib/members/utils.js +5 -9
- package/lib/lib/notify.js +9 -9
- package/lib/lib/orgs/utils.js +11 -16
- package/lib/lib/pg/backups.d.ts +1 -17
- package/lib/lib/pg/backups.js +160 -149
- package/lib/lib/pg/bastion.d.ts +1 -29
- package/lib/lib/pg/bastion.js +129 -113
- package/lib/lib/pg/config.js +2 -6
- package/lib/lib/pg/download.js +14 -14
- package/lib/lib/pg/fetcher.d.ts +1 -39
- package/lib/lib/pg/fetcher.js +149 -123
- package/lib/lib/pg/host.js +1 -4
- package/lib/lib/pg/psql.d.ts +1 -48
- package/lib/lib/pg/psql.js +241 -218
- package/lib/lib/pg/push_pull.d.ts +1 -13
- package/lib/lib/pg/push_pull.js +120 -110
- package/lib/lib/pg/setter.d.ts +1 -16
- package/lib/lib/pg/setter.js +73 -63
- package/lib/lib/pg/types.js +1 -2
- package/lib/lib/pg/util.d.ts +1 -37
- package/lib/lib/pg/util.js +209 -178
- package/lib/lib/pipelines/disambiguate.js +8 -11
- package/lib/lib/pipelines/github-api.d.ts +1 -1
- package/lib/lib/pipelines/github-api.js +10 -7
- package/lib/lib/pipelines/infer.js +3 -6
- package/lib/lib/pipelines/key-by.js +1 -4
- package/lib/lib/pipelines/kolkrabbi-api.js +6 -7
- package/lib/lib/pipelines/ownership.d.ts +1 -5
- package/lib/lib/pipelines/ownership.js +44 -38
- package/lib/lib/pipelines/render-pipeline.d.ts +1 -7
- package/lib/lib/pipelines/render-pipeline.js +68 -51
- package/lib/lib/pipelines/setup/create-apps.d.ts +1 -1
- package/lib/lib/pipelines/setup/create-apps.js +5 -8
- package/lib/lib/pipelines/setup/get-ci-settings.js +3 -6
- package/lib/lib/pipelines/setup/get-github-token.js +1 -4
- package/lib/lib/pipelines/setup/get-name-and-repo.js +23 -31
- package/lib/lib/pipelines/setup/get-repo.js +1 -4
- package/lib/lib/pipelines/setup/get-settings.js +13 -16
- package/lib/lib/pipelines/setup/poll-app-setups.js +6 -9
- package/lib/lib/pipelines/setup/setup-pipeline.js +3 -6
- package/lib/lib/pipelines/setup/validate.js +5 -11
- package/lib/lib/pipelines/stages.js +1 -6
- package/lib/lib/redis/api.js +18 -21
- package/lib/lib/releases/output.js +3 -7
- package/lib/lib/releases/releases.js +8 -15
- package/lib/lib/releases/status_helper.js +2 -7
- package/lib/lib/run/colorize.js +55 -59
- package/lib/lib/run/dyno.d.ts +10 -5
- package/lib/lib/run/dyno.js +59 -51
- package/lib/lib/run/helpers.js +5 -11
- package/lib/lib/run/log-displayer.d.ts +14 -2
- package/lib/lib/run/log-displayer.js +121 -79
- package/lib/lib/sessions/sessions.js +1 -2
- package/lib/lib/spaces/format.js +16 -24
- package/lib/lib/spaces/hosts.d.ts +1 -9
- package/lib/lib/spaces/hosts.js +41 -33
- package/lib/lib/spaces/outbound-rules.d.ts +1 -4
- package/lib/lib/spaces/outbound-rules.js +79 -73
- package/lib/lib/spaces/parsers.js +1 -5
- package/lib/lib/spaces/peering.d.ts +1 -4
- package/lib/lib/spaces/peering.js +52 -51
- package/lib/lib/spaces/spaces.d.ts +1 -6
- package/lib/lib/spaces/spaces.js +39 -37
- package/lib/lib/spaces/vpn-connections.js +17 -21
- package/lib/lib/status/util.js +1 -5
- package/lib/lib/teamUtils.js +4 -10
- package/lib/lib/telemetry/util.d.ts +1 -1
- package/lib/lib/telemetry/util.js +14 -17
- package/lib/lib/time.js +3 -8
- package/lib/lib/types/app_errors.js +1 -2
- package/lib/lib/types/app_process_tier.d.ts +1 -1
- package/lib/lib/types/app_process_tier.js +1 -2
- package/lib/lib/types/domain.js +1 -2
- package/lib/lib/types/favorites.js +1 -2
- package/lib/lib/types/notifications.js +1 -2
- package/lib/lib/utils/keyValueParser.js +1 -4
- package/lib/lib/utils/multisort.js +2 -6
- package/lib/lib/utils/packageParser.js +10 -8
- package/lib/lib/utils/paginator.js +1 -5
- package/lib/lib/utils/sparkline.d.ts +7 -0
- package/lib/lib/utils/sparkline.js +35 -0
- package/lib/lib/utils/uuid-validate.js +1 -5
- package/lib/lib/webhooks/base.js +11 -9
- package/lib/nls.js +2 -6
- package/lib/oldCommands/autocomplete/create.d.ts +1 -0
- package/lib/oldCommands/autocomplete/create.js +254 -0
- package/lib/oldCommands/autocomplete/doctor.d.ts +1 -0
- package/lib/oldCommands/autocomplete/doctor.js +110 -0
- package/lib/oldCommands/autocomplete/index.d.ts +1 -0
- package/lib/oldCommands/autocomplete/index.js +80 -0
- package/lib/oldCommands/autocomplete/options.d.ts +1 -0
- package/lib/oldCommands/autocomplete/options.js +240 -0
- package/lib/oldCommands/autocomplete/script.d.ts +1 -0
- package/lib/oldCommands/autocomplete/script.js +35 -0
- package/lib/oldCommands/local/index.d.ts +1 -0
- package/lib/oldCommands/local/index.js +91 -0
- package/lib/oldCommands/local/run.d.ts +1 -0
- package/lib/oldCommands/local/run.js +54 -0
- package/lib/oldCommands/local/version.d.ts +1 -0
- package/lib/oldCommands/local/version.js +17 -0
- package/lib/oldCommands/members/add.d.ts +1 -0
- package/lib/oldCommands/members/add.js +36 -0
- package/lib/oldCommands/members/index.d.ts +1 -0
- package/lib/oldCommands/members/index.js +92 -0
- package/lib/oldCommands/members/remove.d.ts +1 -0
- package/lib/oldCommands/members/remove.js +70 -0
- package/lib/oldCommands/members/set.d.ts +1 -0
- package/lib/oldCommands/members/set.js +24 -0
- package/lib/oldCommands/pg/backups/cancel.d.ts +1 -0
- package/lib/oldCommands/pg/backups/cancel.js +56 -0
- package/lib/oldCommands/pg/backups/capture.d.ts +1 -0
- package/lib/oldCommands/pg/backups/capture.js +77 -0
- package/lib/oldCommands/pg/backups/delete.d.ts +1 -0
- package/lib/oldCommands/pg/backups/delete.js +45 -0
- package/lib/oldCommands/pg/backups/download.d.ts +1 -0
- package/lib/oldCommands/pg/backups/download.js +64 -0
- package/lib/oldCommands/pg/backups/index.d.ts +1 -0
- package/lib/oldCommands/pg/backups/index.js +141 -0
- package/lib/oldCommands/pg/backups/info.d.ts +1 -0
- package/lib/oldCommands/pg/backups/info.js +102 -0
- package/lib/oldCommands/pg/backups/restore.d.ts +1 -0
- package/lib/oldCommands/pg/backups/restore.js +150 -0
- package/lib/oldCommands/pg/backups/schedule.d.ts +1 -0
- package/lib/oldCommands/pg/backups/schedule.js +107 -0
- package/lib/oldCommands/pg/backups/schedules.d.ts +1 -0
- package/lib/oldCommands/pg/backups/schedules.js +34 -0
- package/lib/oldCommands/pg/backups/unschedule.d.ts +1 -0
- package/lib/oldCommands/pg/backups/unschedule.js +60 -0
- package/lib/oldCommands/pg/backups/url.d.ts +1 -0
- package/lib/oldCommands/pg/backups/url.js +46 -0
- package/lib/oldCommands/pg/bloat.d.ts +1 -0
- package/lib/{commands → oldCommands}/pg/bloat.js +31 -26
- package/lib/oldCommands/pg/blocking.d.ts +1 -0
- package/lib/oldCommands/pg/blocking.js +48 -0
- package/lib/oldCommands/pg/connection-pooling/attach.d.ts +1 -0
- package/lib/oldCommands/pg/connection-pooling/attach.js +53 -0
- package/lib/oldCommands/pg/copy.d.ts +1 -0
- package/lib/oldCommands/pg/copy.js +104 -0
- package/lib/oldCommands/pg/credentials/create.d.ts +1 -0
- package/lib/oldCommands/pg/credentials/create.js +47 -0
- package/lib/oldCommands/pg/credentials/destroy.d.ts +1 -0
- package/lib/oldCommands/pg/credentials/destroy.js +56 -0
- package/lib/oldCommands/pg/credentials/repair-default.d.ts +1 -0
- package/lib/oldCommands/pg/credentials/repair-default.js +43 -0
- package/lib/oldCommands/pg/credentials/rotate.d.ts +1 -0
- package/lib/oldCommands/pg/credentials/rotate.js +97 -0
- package/lib/oldCommands/pg/credentials/url.d.ts +1 -0
- package/lib/oldCommands/pg/credentials/url.js +75 -0
- package/lib/oldCommands/pg/credentials.d.ts +1 -0
- package/lib/oldCommands/pg/credentials.js +77 -0
- package/lib/oldCommands/pg/diagnose.d.ts +1 -0
- package/lib/oldCommands/pg/diagnose.js +136 -0
- package/lib/oldCommands/pg/info.d.ts +1 -0
- package/lib/oldCommands/pg/info.js +110 -0
- package/lib/oldCommands/pg/kill.d.ts +1 -0
- package/lib/oldCommands/pg/kill.js +37 -0
- package/lib/oldCommands/pg/killall.d.ts +1 -0
- package/lib/oldCommands/pg/killall.js +31 -0
- package/lib/oldCommands/pg/links/create.d.ts +1 -0
- package/lib/oldCommands/pg/links/create.js +70 -0
- package/lib/oldCommands/pg/links/destroy.d.ts +1 -0
- package/lib/oldCommands/pg/links/destroy.js +51 -0
- package/lib/oldCommands/pg/links/index.d.ts +1 -0
- package/lib/oldCommands/pg/links/index.js +64 -0
- package/lib/oldCommands/pg/locks.d.ts +1 -0
- package/lib/oldCommands/pg/locks.js +60 -0
- package/lib/oldCommands/pg/maintenance/index.d.ts +1 -0
- package/lib/oldCommands/pg/maintenance/index.js +34 -0
- package/lib/oldCommands/pg/maintenance/run.d.ts +1 -0
- package/lib/oldCommands/pg/maintenance/run.js +44 -0
- package/lib/oldCommands/pg/maintenance/window.d.ts +1 -0
- package/lib/oldCommands/pg/maintenance/window.js +52 -0
- package/lib/oldCommands/pg/outliers.d.ts +1 -0
- package/lib/oldCommands/pg/outliers.js +110 -0
- package/lib/oldCommands/pg/promote.d.ts +1 -0
- package/lib/oldCommands/pg/promote.js +183 -0
- package/lib/oldCommands/pg/ps.d.ts +1 -0
- package/lib/oldCommands/pg/ps.js +56 -0
- package/lib/oldCommands/pg/psql.d.ts +1 -0
- package/lib/oldCommands/pg/psql.js +53 -0
- package/lib/oldCommands/pg/pull.d.ts +1 -0
- package/lib/oldCommands/pg/pull.js +114 -0
- package/lib/oldCommands/pg/push.d.ts +1 -0
- package/lib/oldCommands/pg/push.js +111 -0
- package/lib/oldCommands/pg/reset.d.ts +1 -0
- package/lib/oldCommands/pg/reset.js +49 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-analyze.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-analyze.js +37 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-buffers.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-buffers.js +35 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-format.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-format.js +30 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.js +39 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.js +30 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-triggers.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-triggers.js +35 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-verbose.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain/log-verbose.js +40 -0
- package/lib/oldCommands/pg/settings/auto-explain.d.ts +1 -0
- package/lib/oldCommands/pg/settings/auto-explain.js +45 -0
- package/lib/oldCommands/pg/settings/data-connector-details-logs.d.ts +1 -0
- package/lib/oldCommands/pg/settings/data-connector-details-logs.js +40 -0
- package/lib/oldCommands/pg/settings/index.d.ts +1 -0
- package/lib/oldCommands/pg/settings/index.js +41 -0
- package/lib/oldCommands/pg/settings/log-connections.d.ts +1 -0
- package/lib/oldCommands/pg/settings/log-connections.js +40 -0
- package/lib/oldCommands/pg/settings/log-lock-waits.d.ts +1 -0
- package/lib/oldCommands/pg/settings/log-lock-waits.js +36 -0
- package/lib/oldCommands/pg/settings/log-min-duration-statement.d.ts +1 -0
- package/lib/oldCommands/pg/settings/log-min-duration-statement.js +39 -0
- package/lib/oldCommands/pg/settings/log-min-error-statement.d.ts +1 -0
- package/lib/oldCommands/pg/settings/log-min-error-statement.js +31 -0
- package/lib/oldCommands/pg/settings/log-statement.d.ts +1 -0
- package/lib/oldCommands/pg/settings/log-statement.js +33 -0
- package/lib/oldCommands/pg/settings/track-functions.d.ts +1 -0
- package/lib/oldCommands/pg/settings/track-functions.js +33 -0
- package/lib/oldCommands/pg/unfollow.d.ts +1 -0
- package/lib/oldCommands/pg/unfollow.js +46 -0
- package/lib/oldCommands/pg/upgrade/cancel.d.ts +1 -0
- package/lib/oldCommands/pg/upgrade/cancel.js +62 -0
- package/lib/oldCommands/pg/upgrade/dryrun.d.ts +1 -0
- package/lib/oldCommands/pg/upgrade/dryrun.js +62 -0
- package/lib/oldCommands/pg/upgrade/index.d.ts +1 -0
- package/lib/oldCommands/pg/upgrade/index.js +85 -0
- package/lib/oldCommands/pg/upgrade/prepare.d.ts +1 -0
- package/lib/oldCommands/pg/upgrade/prepare.js +64 -0
- package/lib/oldCommands/pg/upgrade/run.d.ts +1 -0
- package/lib/oldCommands/pg/upgrade/run.js +106 -0
- package/lib/oldCommands/pg/upgrade/wait.d.ts +1 -0
- package/lib/oldCommands/pg/upgrade/wait.js +121 -0
- package/lib/oldCommands/pg/upgrade.d.ts +1 -0
- package/lib/oldCommands/pg/upgrade.js +66 -0
- package/lib/oldCommands/pg/vacuum-stats.d.ts +1 -0
- package/lib/{commands → oldCommands}/pg/vacuum-stats.js +30 -27
- package/lib/oldCommands/pg/wait.d.ts +1 -0
- package/lib/oldCommands/pg/wait.js +96 -0
- package/lib/oldCommands/pipelines/add.d.ts +1 -0
- package/lib/oldCommands/pipelines/add.js +70 -0
- package/lib/oldCommands/pipelines/connect.d.ts +1 -0
- package/lib/oldCommands/pipelines/connect.js +69 -0
- package/lib/oldCommands/pipelines/create.d.ts +1 -0
- package/lib/oldCommands/pipelines/create.js +105 -0
- package/lib/oldCommands/pipelines/destroy.d.ts +1 -0
- package/lib/oldCommands/pipelines/destroy.js +34 -0
- package/lib/oldCommands/pipelines/diff.d.ts +1 -0
- package/lib/oldCommands/pipelines/diff.js +202 -0
- package/lib/oldCommands/pipelines/index.d.ts +1 -0
- package/lib/oldCommands/pipelines/index.js +34 -0
- package/lib/oldCommands/pipelines/info.d.ts +1 -0
- package/lib/oldCommands/pipelines/info.js +51 -0
- package/lib/oldCommands/pipelines/open.d.ts +1 -0
- package/lib/oldCommands/pipelines/open.js +25 -0
- package/lib/oldCommands/pipelines/promote.d.ts +1 -0
- package/lib/oldCommands/pipelines/promote.js +269 -0
- package/lib/oldCommands/pipelines/remove.d.ts +1 -0
- package/lib/oldCommands/pipelines/remove.js +29 -0
- package/lib/oldCommands/pipelines/rename.d.ts +1 -0
- package/lib/oldCommands/pipelines/rename.js +42 -0
- package/lib/oldCommands/pipelines/setup.d.ts +1 -0
- package/lib/oldCommands/pipelines/setup.js +117 -0
- package/lib/oldCommands/pipelines/transfer.d.ts +1 -0
- package/lib/oldCommands/pipelines/transfer.js +78 -0
- package/lib/oldCommands/pipelines/update.d.ts +1 -0
- package/lib/oldCommands/pipelines/update.js +39 -0
- package/lib/oldCommands/ps/autoscale/disable.d.ts +1 -0
- package/lib/oldCommands/ps/autoscale/disable.js +43 -0
- package/lib/oldCommands/ps/autoscale/enable.d.ts +1 -0
- package/lib/oldCommands/ps/autoscale/enable.js +103 -0
- package/lib/oldCommands/ps/index.d.ts +1 -0
- package/lib/oldCommands/ps/index.js +254 -0
- package/lib/oldCommands/ps/restart.d.ts +1 -0
- package/lib/oldCommands/ps/restart.js +78 -0
- package/lib/oldCommands/ps/scale.d.ts +1 -0
- package/lib/oldCommands/ps/scale.js +95 -0
- package/lib/oldCommands/ps/stop.d.ts +1 -0
- package/lib/oldCommands/ps/stop.js +73 -0
- package/lib/oldCommands/ps/type.d.ts +1 -0
- package/lib/oldCommands/ps/type.js +190 -0
- package/lib/oldCommands/ps/wait.d.ts +1 -0
- package/lib/oldCommands/ps/wait.js +93 -0
- package/lib/oldCommands/redis/cli.d.ts +1 -0
- package/lib/oldCommands/redis/cli.js +227 -0
- package/lib/oldCommands/redis/credentials.d.ts +1 -0
- package/lib/oldCommands/redis/credentials.js +36 -0
- package/lib/oldCommands/redis/info.d.ts +1 -0
- package/lib/oldCommands/redis/info.js +28 -0
- package/lib/oldCommands/redis/keyspace-notifications.d.ts +1 -0
- package/lib/oldCommands/redis/keyspace-notifications.js +55 -0
- package/lib/oldCommands/redis/maintenance.d.ts +1 -0
- package/lib/oldCommands/redis/maintenance.js +75 -0
- package/lib/oldCommands/redis/maxmemory.d.ts +1 -0
- package/lib/oldCommands/redis/maxmemory.js +46 -0
- package/lib/oldCommands/redis/promote.d.ts +1 -0
- package/lib/oldCommands/redis/promote.js +43 -0
- package/lib/oldCommands/redis/stats-reset.d.ts +1 -0
- package/lib/oldCommands/redis/stats-reset.js +40 -0
- package/lib/oldCommands/redis/timeout.d.ts +1 -0
- package/lib/oldCommands/redis/timeout.js +44 -0
- package/lib/oldCommands/redis/upgrade.d.ts +1 -0
- package/lib/oldCommands/redis/upgrade.js +41 -0
- package/lib/oldCommands/redis/wait.d.ts +1 -0
- package/lib/oldCommands/redis/wait.js +71 -0
- package/lib/oldCommands/releases/index.d.ts +1 -0
- package/lib/oldCommands/releases/index.js +156 -0
- package/lib/oldCommands/releases/info.d.ts +1 -0
- package/lib/oldCommands/releases/info.js +68 -0
- package/lib/oldCommands/releases/output.d.ts +1 -0
- package/lib/oldCommands/releases/output.js +42 -0
- package/lib/oldCommands/releases/retry.d.ts +1 -0
- package/lib/oldCommands/releases/retry.js +59 -0
- package/lib/oldCommands/releases/rollback.d.ts +1 -0
- package/lib/oldCommands/releases/rollback.js +65 -0
- package/lib/oldCommands/run/detached.d.ts +1 -0
- package/lib/oldCommands/run/detached.js +61 -0
- package/lib/oldCommands/run/index.d.ts +1 -0
- package/lib/oldCommands/run/index.js +72 -0
- package/lib/oldCommands/run/inside.d.ts +1 -0
- package/lib/oldCommands/run/inside.js +93 -0
- package/lib/oldCommands/spaces/create.d.ts +1 -0
- package/lib/oldCommands/spaces/create.js +99 -0
- package/lib/oldCommands/spaces/destroy.d.ts +1 -0
- package/lib/oldCommands/spaces/destroy.js +79 -0
- package/lib/oldCommands/spaces/drains/get.d.ts +1 -0
- package/lib/oldCommands/spaces/drains/get.js +33 -0
- package/lib/oldCommands/spaces/drains/set.d.ts +1 -0
- package/lib/oldCommands/spaces/drains/set.js +33 -0
- package/lib/oldCommands/spaces/hosts.d.ts +1 -0
- package/lib/oldCommands/spaces/hosts.js +42 -0
- package/lib/oldCommands/spaces/index.d.ts +1 -0
- package/lib/oldCommands/spaces/index.js +74 -0
- package/lib/oldCommands/spaces/info.d.ts +1 -0
- package/lib/oldCommands/spaces/info.js +59 -0
- package/lib/oldCommands/spaces/peerings/accept.d.ts +1 -0
- package/lib/oldCommands/spaces/peerings/accept.js +41 -0
- package/lib/oldCommands/spaces/peerings/destroy.d.ts +1 -0
- package/lib/oldCommands/spaces/peerings/destroy.js +51 -0
- package/lib/oldCommands/spaces/peerings/index.d.ts +1 -0
- package/lib/oldCommands/spaces/peerings/index.js +39 -0
- package/lib/oldCommands/spaces/peerings/info.d.ts +1 -0
- package/lib/{commands → oldCommands}/spaces/peerings/info.js +45 -38
- package/lib/oldCommands/spaces/ps.d.ts +1 -0
- package/lib/oldCommands/spaces/ps.js +97 -0
- package/lib/oldCommands/spaces/rename.d.ts +1 -0
- package/lib/oldCommands/spaces/rename.js +29 -0
- package/lib/oldCommands/spaces/topology.d.ts +1 -0
- package/lib/oldCommands/spaces/topology.js +95 -0
- package/lib/oldCommands/spaces/transfer.d.ts +1 -0
- package/lib/oldCommands/spaces/transfer.js +37 -0
- package/lib/oldCommands/spaces/trusted-ips/add.d.ts +1 -0
- package/lib/oldCommands/spaces/trusted-ips/add.js +48 -0
- package/lib/oldCommands/spaces/trusted-ips/index.d.ts +1 -0
- package/lib/oldCommands/spaces/trusted-ips/index.js +57 -0
- package/lib/oldCommands/spaces/trusted-ips/remove.d.ts +1 -0
- package/lib/oldCommands/spaces/trusted-ips/remove.js +50 -0
- package/lib/oldCommands/spaces/vpn/config.d.ts +1 -0
- package/lib/oldCommands/spaces/vpn/config.js +61 -0
- package/lib/oldCommands/spaces/vpn/connect.d.ts +1 -0
- package/lib/oldCommands/spaces/vpn/connect.js +54 -0
- package/lib/oldCommands/spaces/vpn/connections.d.ts +1 -0
- package/lib/oldCommands/spaces/vpn/connections.js +70 -0
- package/lib/oldCommands/spaces/vpn/destroy.d.ts +1 -0
- package/lib/oldCommands/spaces/vpn/destroy.js +48 -0
- package/lib/oldCommands/spaces/vpn/info.d.ts +1 -0
- package/lib/oldCommands/spaces/vpn/info.js +89 -0
- package/lib/oldCommands/spaces/vpn/update.d.ts +1 -0
- package/lib/oldCommands/spaces/vpn/update.js +46 -0
- package/lib/oldCommands/spaces/vpn/wait.d.ts +1 -0
- package/lib/oldCommands/spaces/vpn/wait.js +80 -0
- package/lib/oldCommands/spaces/wait.d.ts +1 -0
- package/lib/oldCommands/spaces/wait.js +106 -0
- package/lib/oldCommands/webhooks/add.d.ts +1 -0
- package/lib/oldCommands/webhooks/add.js +56 -0
- package/lib/oldCommands/webhooks/deliveries/index.d.ts +1 -0
- package/lib/oldCommands/webhooks/deliveries/index.js +90 -0
- package/lib/oldCommands/webhooks/deliveries/info.d.ts +1 -0
- package/lib/oldCommands/webhooks/deliveries/info.js +54 -0
- package/lib/oldCommands/webhooks/events/index.d.ts +1 -0
- package/lib/oldCommands/webhooks/events/index.js +56 -0
- package/lib/oldCommands/webhooks/events/info.d.ts +1 -0
- package/lib/oldCommands/webhooks/events/info.js +42 -0
- package/lib/oldCommands/webhooks/index.d.ts +1 -0
- package/lib/oldCommands/webhooks/index.js +55 -0
- package/lib/oldCommands/webhooks/info.d.ts +1 -0
- package/lib/oldCommands/webhooks/info.js +41 -0
- package/lib/oldCommands/webhooks/remove.d.ts +1 -0
- package/lib/oldCommands/webhooks/remove.js +37 -0
- package/lib/oldCommands/webhooks/update.d.ts +1 -0
- package/lib/oldCommands/webhooks/update.js +50 -0
- package/lib/user-config.d.ts +0 -1
- package/lib/user-config.js +23 -22
- package/package.json +40 -55
- package/lib/commands/autocomplete/create.d.ts +0 -29
- package/lib/commands/autocomplete/create.js +0 -213
- package/lib/commands/autocomplete/doctor.d.ts +0 -12
- package/lib/commands/autocomplete/doctor.js +0 -98
- package/lib/commands/autocomplete/index.d.ts +0 -12
- package/lib/commands/autocomplete/index.js +0 -67
- package/lib/commands/autocomplete/options.d.ts +0 -25
- package/lib/commands/autocomplete/options.js +0 -210
- package/lib/commands/autocomplete/script.d.ts +0 -10
- package/lib/commands/autocomplete/script.js +0 -23
- package/lib/commands/certs/auto/wait.d.ts +0 -9
- package/lib/commands/certs/auto/wait.js +0 -14
- package/lib/commands/container/index.d.ts +0 -6
- package/lib/commands/container/index.js +0 -13
- package/lib/commands/local/index.d.ts +0 -17
- package/lib/commands/local/index.js +0 -81
- package/lib/commands/local/run.d.ts +0 -11
- package/lib/commands/local/run.js +0 -45
- package/lib/commands/local/version.d.ts +0 -5
- package/lib/commands/local/version.js +0 -13
- package/lib/commands/members/add.d.ts +0 -13
- package/lib/commands/members/add.js +0 -33
- package/lib/commands/members/index.d.ts +0 -12
- package/lib/commands/members/index.js +0 -77
- package/lib/commands/members/remove.d.ts +0 -10
- package/lib/commands/members/remove.js +0 -58
- package/lib/commands/members/set.d.ts +0 -11
- package/lib/commands/members/set.js +0 -21
- package/lib/commands/pg/backups/cancel.d.ts +0 -15
- package/lib/commands/pg/backups/cancel.js +0 -49
- package/lib/commands/pg/backups/capture.d.ts +0 -15
- package/lib/commands/pg/backups/capture.js +0 -66
- package/lib/commands/pg/backups/delete.d.ts +0 -15
- package/lib/commands/pg/backups/delete.js +0 -38
- package/lib/commands/pg/backups/download.d.ts +0 -14
- package/lib/commands/pg/backups/download.js +0 -58
- package/lib/commands/pg/backups/index.d.ts +0 -20
- package/lib/commands/pg/backups/index.js +0 -130
- package/lib/commands/pg/backups/info.d.ts +0 -17
- package/lib/commands/pg/backups/info.js +0 -93
- package/lib/commands/pg/backups/restore.d.ts +0 -20
- package/lib/commands/pg/backups/restore.js +0 -135
- package/lib/commands/pg/backups/schedule.d.ts +0 -21
- package/lib/commands/pg/backups/schedule.js +0 -77
- package/lib/commands/pg/backups/schedules.d.ts +0 -10
- package/lib/commands/pg/backups/schedules.js +0 -32
- package/lib/commands/pg/backups/unschedule.d.ts +0 -13
- package/lib/commands/pg/backups/unschedule.js +0 -45
- package/lib/commands/pg/backups/url.d.ts +0 -13
- package/lib/commands/pg/backups/url.js +0 -41
- package/lib/commands/pg/bloat.d.ts +0 -13
- package/lib/commands/pg/blocking.d.ts +0 -13
- package/lib/commands/pg/blocking.js +0 -43
- package/lib/commands/pg/connection-pooling/attach.d.ts +0 -15
- package/lib/commands/pg/connection-pooling/attach.js +0 -42
- package/lib/commands/pg/copy.d.ts +0 -18
- package/lib/commands/pg/copy.js +0 -86
- package/lib/commands/pg/credentials/create.d.ts +0 -14
- package/lib/commands/pg/credentials/create.js +0 -41
- package/lib/commands/pg/credentials/destroy.d.ts +0 -16
- package/lib/commands/pg/credentials/destroy.js +0 -49
- package/lib/commands/pg/credentials/repair-default.d.ts +0 -15
- package/lib/commands/pg/credentials/repair-default.js +0 -40
- package/lib/commands/pg/credentials/rotate.d.ts +0 -17
- package/lib/commands/pg/credentials/rotate.js +0 -84
- package/lib/commands/pg/credentials/url.d.ts +0 -14
- package/lib/commands/pg/credentials/url.js +0 -65
- package/lib/commands/pg/credentials.d.ts +0 -16
- package/lib/commands/pg/credentials.js +0 -63
- package/lib/commands/pg/diagnose.d.ts +0 -18
- package/lib/commands/pg/diagnose.js +0 -110
- package/lib/commands/pg/info.d.ts +0 -14
- package/lib/commands/pg/info.js +0 -94
- package/lib/commands/pg/kill.d.ts +0 -15
- package/lib/commands/pg/kill.js +0 -33
- package/lib/commands/pg/killall.d.ts +0 -13
- package/lib/commands/pg/killall.js +0 -27
- package/lib/commands/pg/links/create.d.ts +0 -15
- package/lib/commands/pg/links/create.js +0 -59
- package/lib/commands/pg/links/destroy.d.ts +0 -16
- package/lib/commands/pg/links/destroy.js +0 -43
- package/lib/commands/pg/links/index.d.ts +0 -13
- package/lib/commands/pg/links/index.js +0 -61
- package/lib/commands/pg/locks.d.ts +0 -15
- package/lib/commands/pg/locks.js +0 -54
- package/lib/commands/pg/maintenance/index.d.ts +0 -13
- package/lib/commands/pg/maintenance/index.js +0 -30
- package/lib/commands/pg/maintenance/run.d.ts +0 -14
- package/lib/commands/pg/maintenance/run.js +0 -38
- package/lib/commands/pg/maintenance/window.d.ts +0 -15
- package/lib/commands/pg/maintenance/window.js +0 -42
- package/lib/commands/pg/outliers.d.ts +0 -19
- package/lib/commands/pg/outliers.js +0 -99
- package/lib/commands/pg/promote.d.ts +0 -14
- package/lib/commands/pg/promote.js +0 -170
- package/lib/commands/pg/ps.d.ts +0 -14
- package/lib/commands/pg/ps.js +0 -53
- package/lib/commands/pg/psql.d.ts +0 -16
- package/lib/commands/pg/psql.js +0 -50
- package/lib/commands/pg/pull.d.ts +0 -18
- package/lib/commands/pg/pull.js +0 -88
- package/lib/commands/pg/push.d.ts +0 -18
- package/lib/commands/pg/push.js +0 -85
- package/lib/commands/pg/reset.d.ts +0 -15
- package/lib/commands/pg/reset.js +0 -45
- package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +0 -13
- package/lib/commands/pg/settings/auto-explain/log-analyze.js +0 -33
- package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +0 -13
- package/lib/commands/pg/settings/auto-explain/log-buffers.js +0 -31
- package/lib/commands/pg/settings/auto-explain/log-format.d.ts +0 -12
- package/lib/commands/pg/settings/auto-explain/log-format.js +0 -27
- package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +0 -13
- package/lib/commands/pg/settings/auto-explain/log-min-duration.js +0 -34
- package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +0 -12
- package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +0 -26
- package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +0 -13
- package/lib/commands/pg/settings/auto-explain/log-triggers.js +0 -31
- package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +0 -17
- package/lib/commands/pg/settings/auto-explain/log-verbose.js +0 -34
- package/lib/commands/pg/settings/auto-explain.d.ts +0 -18
- package/lib/commands/pg/settings/auto-explain.js +0 -39
- package/lib/commands/pg/settings/data-connector-details-logs.d.ts +0 -17
- package/lib/commands/pg/settings/data-connector-details-logs.js +0 -35
- package/lib/commands/pg/settings/index.d.ts +0 -13
- package/lib/commands/pg/settings/index.js +0 -36
- package/lib/commands/pg/settings/log-connections.d.ts +0 -17
- package/lib/commands/pg/settings/log-connections.js +0 -35
- package/lib/commands/pg/settings/log-lock-waits.d.ts +0 -13
- package/lib/commands/pg/settings/log-lock-waits.js +0 -32
- package/lib/commands/pg/settings/log-min-duration-statement.d.ts +0 -12
- package/lib/commands/pg/settings/log-min-duration-statement.js +0 -34
- package/lib/commands/pg/settings/log-min-error-statement.d.ts +0 -12
- package/lib/commands/pg/settings/log-min-error-statement.js +0 -28
- package/lib/commands/pg/settings/log-statement.d.ts +0 -12
- package/lib/commands/pg/settings/log-statement.js +0 -31
- package/lib/commands/pg/settings/track-functions.d.ts +0 -12
- package/lib/commands/pg/settings/track-functions.js +0 -30
- package/lib/commands/pg/unfollow.d.ts +0 -14
- package/lib/commands/pg/unfollow.js +0 -41
- package/lib/commands/pg/upgrade/cancel.d.ts +0 -13
- package/lib/commands/pg/upgrade/cancel.js +0 -53
- package/lib/commands/pg/upgrade/dryrun.d.ts +0 -14
- package/lib/commands/pg/upgrade/dryrun.js +0 -53
- package/lib/commands/pg/upgrade/index.d.ts +0 -15
- package/lib/commands/pg/upgrade/index.js +0 -76
- package/lib/commands/pg/upgrade/prepare.d.ts +0 -14
- package/lib/commands/pg/upgrade/prepare.js +0 -54
- package/lib/commands/pg/upgrade/run.d.ts +0 -16
- package/lib/commands/pg/upgrade/run.js +0 -98
- package/lib/commands/pg/upgrade/wait.d.ts +0 -16
- package/lib/commands/pg/upgrade/wait.js +0 -103
- package/lib/commands/pg/vacuum-stats.d.ts +0 -13
- package/lib/commands/pg/wait.d.ts +0 -15
- package/lib/commands/pg/wait.js +0 -81
- package/lib/commands/pipelines/add.d.ts +0 -14
- package/lib/commands/pipelines/add.js +0 -61
- package/lib/commands/pipelines/connect.d.ts +0 -12
- package/lib/commands/pipelines/connect.js +0 -52
- package/lib/commands/pipelines/create.d.ts +0 -15
- package/lib/commands/pipelines/create.js +0 -93
- package/lib/commands/pipelines/destroy.d.ts +0 -9
- package/lib/commands/pipelines/destroy.js +0 -27
- package/lib/commands/pipelines/diff.d.ts +0 -20
- package/lib/commands/pipelines/diff.js +0 -167
- package/lib/commands/pipelines/index.d.ts +0 -9
- package/lib/commands/pipelines/index.js +0 -28
- package/lib/commands/pipelines/info.d.ts +0 -13
- package/lib/commands/pipelines/info.js +0 -44
- package/lib/commands/pipelines/open.d.ts +0 -9
- package/lib/commands/pipelines/open.js +0 -19
- package/lib/commands/pipelines/promote.d.ts +0 -12
- package/lib/commands/pipelines/promote.js +0 -217
- package/lib/commands/pipelines/remove.d.ts +0 -10
- package/lib/commands/pipelines/remove.js +0 -23
- package/lib/commands/pipelines/rename.d.ts +0 -10
- package/lib/commands/pipelines/rename.js +0 -33
- package/lib/commands/pipelines/setup.d.ts +0 -14
- package/lib/commands/pipelines/setup.js +0 -91
- package/lib/commands/pipelines/transfer.d.ts +0 -13
- package/lib/commands/pipelines/transfer.js +0 -66
- package/lib/commands/pipelines/update.d.ts +0 -11
- package/lib/commands/pipelines/update.js +0 -32
- package/lib/commands/ps/autoscale/disable.d.ts +0 -9
- package/lib/commands/ps/autoscale/disable.js +0 -35
- package/lib/commands/ps/autoscale/enable.d.ts +0 -13
- package/lib/commands/ps/autoscale/enable.js +0 -77
- package/lib/commands/ps/index.d.ts +0 -15
- package/lib/commands/ps/index.js +0 -205
- package/lib/commands/ps/restart.d.ts +0 -18
- package/lib/commands/ps/restart.js +0 -70
- package/lib/commands/ps/scale.d.ts +0 -13
- package/lib/commands/ps/scale.js +0 -86
- package/lib/commands/ps/stop.d.ts +0 -18
- package/lib/commands/ps/stop.js +0 -64
- package/lib/commands/ps/type.d.ts +0 -12
- package/lib/commands/ps/type.js +0 -171
- package/lib/commands/ps/wait.d.ts +0 -12
- package/lib/commands/ps/wait.js +0 -79
- package/lib/commands/redis/cli.d.ts +0 -15
- package/lib/commands/redis/cli.js +0 -203
- package/lib/commands/redis/credentials.d.ts +0 -14
- package/lib/commands/redis/credentials.js +0 -32
- package/lib/commands/redis/info.d.ts +0 -15
- package/lib/commands/redis/info.js +0 -25
- package/lib/commands/redis/keyspace-notifications.d.ts +0 -14
- package/lib/commands/redis/keyspace-notifications.js +0 -47
- package/lib/commands/redis/maintenance.d.ts +0 -16
- package/lib/commands/redis/maintenance.js +0 -63
- package/lib/commands/redis/maxmemory.d.ts +0 -14
- package/lib/commands/redis/maxmemory.js +0 -40
- package/lib/commands/redis/promote.d.ts +0 -13
- package/lib/commands/redis/promote.js +0 -39
- package/lib/commands/redis/stats-reset.d.ts +0 -14
- package/lib/commands/redis/stats-reset.js +0 -36
- package/lib/commands/redis/timeout.d.ts +0 -14
- package/lib/commands/redis/timeout.js +0 -35
- package/lib/commands/redis/upgrade.d.ts +0 -15
- package/lib/commands/redis/upgrade.js +0 -37
- package/lib/commands/redis/wait.d.ts +0 -14
- package/lib/commands/redis/wait.js +0 -60
- package/lib/commands/releases/index.d.ts +0 -14
- package/lib/commands/releases/index.js +0 -127
- package/lib/commands/releases/info.d.ts +0 -15
- package/lib/commands/releases/info.js +0 -61
- package/lib/commands/releases/output.d.ts +0 -13
- package/lib/commands/releases/output.js +0 -37
- package/lib/commands/releases/retry.d.ts +0 -11
- package/lib/commands/releases/retry.js +0 -51
- package/lib/commands/releases/rollback.d.ts +0 -14
- package/lib/commands/releases/rollback.js +0 -58
- package/lib/commands/run/detached.d.ts +0 -15
- package/lib/commands/run/detached.js +0 -53
- package/lib/commands/run/index.d.ts +0 -18
- package/lib/commands/run/index.js +0 -65
- package/lib/commands/run/inside.d.ts +0 -18
- package/lib/commands/run/inside.js +0 -82
- package/lib/commands/spaces/create.d.ts +0 -23
- package/lib/commands/spaces/create.js +0 -89
- package/lib/commands/spaces/destroy.d.ts +0 -14
- package/lib/commands/spaces/destroy.js +0 -64
- package/lib/commands/spaces/drains/get.d.ts +0 -12
- package/lib/commands/spaces/drains/get.js +0 -27
- package/lib/commands/spaces/drains/set.d.ts +0 -14
- package/lib/commands/spaces/drains/set.js +0 -29
- package/lib/commands/spaces/hosts.d.ts +0 -14
- package/lib/commands/spaces/hosts.js +0 -37
- package/lib/commands/spaces/index.d.ts +0 -16
- package/lib/commands/spaces/index.js +0 -62
- package/lib/commands/spaces/info.d.ts +0 -14
- package/lib/commands/spaces/info.js +0 -49
- package/lib/commands/spaces/peerings/accept.d.ts +0 -15
- package/lib/commands/spaces/peerings/accept.js +0 -36
- package/lib/commands/spaces/peerings/destroy.d.ts +0 -15
- package/lib/commands/spaces/peerings/destroy.js +0 -45
- package/lib/commands/spaces/peerings/index.d.ts +0 -13
- package/lib/commands/spaces/peerings/index.js +0 -33
- package/lib/commands/spaces/peerings/info.d.ts +0 -15
- package/lib/commands/spaces/ps.d.ts +0 -15
- package/lib/commands/spaces/ps.js +0 -83
- package/lib/commands/spaces/rename.d.ts +0 -11
- package/lib/commands/spaces/rename.js +0 -26
- package/lib/commands/spaces/topology.d.ts +0 -32
- package/lib/commands/spaces/topology.js +0 -90
- package/lib/commands/spaces/transfer.d.ts +0 -11
- package/lib/commands/spaces/transfer.js +0 -35
- package/lib/commands/spaces/trusted-ips/add.d.ts +0 -16
- package/lib/commands/spaces/trusted-ips/add.js +0 -40
- package/lib/commands/spaces/trusted-ips/index.d.ts +0 -15
- package/lib/commands/spaces/trusted-ips/index.js +0 -51
- package/lib/commands/spaces/trusted-ips/remove.d.ts +0 -15
- package/lib/commands/spaces/trusted-ips/remove.js +0 -43
- package/lib/commands/spaces/vpn/config.d.ts +0 -14
- package/lib/commands/spaces/vpn/config.js +0 -55
- package/lib/commands/spaces/vpn/connect.d.ts +0 -15
- package/lib/commands/spaces/vpn/connect.js +0 -48
- package/lib/commands/spaces/vpn/connections.d.ts +0 -17
- package/lib/commands/spaces/vpn/connections.js +0 -58
- package/lib/commands/spaces/vpn/destroy.d.ts +0 -14
- package/lib/commands/spaces/vpn/destroy.js +0 -38
- package/lib/commands/spaces/vpn/info.d.ts +0 -16
- package/lib/commands/spaces/vpn/info.js +0 -83
- package/lib/commands/spaces/vpn/update.d.ts +0 -14
- package/lib/commands/spaces/vpn/update.js +0 -39
- package/lib/commands/spaces/vpn/wait.d.ts +0 -16
- package/lib/commands/spaces/vpn/wait.js +0 -71
- package/lib/commands/spaces/wait.d.ts +0 -17
- package/lib/commands/spaces/wait.js +0 -91
- package/lib/commands/webhooks/add.d.ts +0 -16
- package/lib/commands/webhooks/add.js +0 -48
- package/lib/commands/webhooks/deliveries/index.d.ts +0 -12
- package/lib/commands/webhooks/deliveries/index.js +0 -80
- package/lib/commands/webhooks/deliveries/info.d.ts +0 -14
- package/lib/commands/webhooks/deliveries/info.js +0 -43
- package/lib/commands/webhooks/events/index.d.ts +0 -11
- package/lib/commands/webhooks/events/index.js +0 -47
- package/lib/commands/webhooks/events/info.d.ts +0 -14
- package/lib/commands/webhooks/events/info.js +0 -32
- package/lib/commands/webhooks/index.d.ts +0 -11
- package/lib/commands/webhooks/index.js +0 -45
- package/lib/commands/webhooks/info.d.ts +0 -14
- package/lib/commands/webhooks/info.js +0 -32
- package/lib/commands/webhooks/remove.d.ts +0 -14
- package/lib/commands/webhooks/remove.js +0 -29
- package/lib/commands/webhooks/update.d.ts +0 -19
- package/lib/commands/webhooks/update.js +0 -41
- package/oclif.manifest.json +0 -15011
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import color from '@heroku-cli/color'
|
|
4
|
+
import {Command, flags} from '@heroku-cli/command'
|
|
5
|
+
import {Args, ux} from '@oclif/core'
|
|
6
|
+
import heredoc from 'tsheredoc'
|
|
7
|
+
import {database} from '../../lib/pg/fetcher'
|
|
8
|
+
import {ConnectionDetails, parsePostgresConnectionString} from '../../lib/pg/util'
|
|
9
|
+
import {
|
|
10
|
+
connArgs,
|
|
11
|
+
maybeTunnel,
|
|
12
|
+
parseExclusions,
|
|
13
|
+
prepare,
|
|
14
|
+
spawnPipe,
|
|
15
|
+
verifyExtensionsMatch,
|
|
16
|
+
} from '../../lib/pg/push_pull'
|
|
17
|
+
import {SpawnOptions, spawn} from 'node:child_process'
|
|
18
|
+
import {nls} from '../../nls'
|
|
19
|
+
const env = process.env
|
|
20
|
+
|
|
21
|
+
export default class Pull extends Command {
|
|
22
|
+
static topic = 'pg'
|
|
23
|
+
static description = heredoc`
|
|
24
|
+
pull Heroku database into local or remote database
|
|
25
|
+
Pull from SOURCE into TARGET.
|
|
26
|
+
|
|
27
|
+
TARGET must be one of:
|
|
28
|
+
* a database name (i.e. on a local PostgreSQL server) => TARGET must not exist and will be created
|
|
29
|
+
* a fully qualified URL to a local PostgreSQL server => TARGET must not exist and will be created
|
|
30
|
+
* a fully qualified URL to a remote PostgreSQL server => TARGET must exist and be empty
|
|
31
|
+
|
|
32
|
+
To delete a local database run ${color.cmd('dropdb TARGET')}.
|
|
33
|
+
To create an empty remote database, run ${color.cmd('createdb')} with connection command-line options (run ${color.cmd('createdb --help')} for details).
|
|
34
|
+
`
|
|
35
|
+
|
|
36
|
+
static examples = [heredoc`
|
|
37
|
+
# pull Heroku DB named postgresql-swimmingly-100 into local DB mylocaldb that must not exist
|
|
38
|
+
$ heroku pg:pull postgresql-swimmingly-100 mylocaldb --app sushi
|
|
39
|
+
`, heredoc`
|
|
40
|
+
# pull Heroku DB named postgresql-swimmingly-100 into empty remote DB at postgres://myhost/mydb
|
|
41
|
+
$ heroku pg:pull postgresql-swimmingly-100 postgres://myhost/mydb --app sushi
|
|
42
|
+
`]
|
|
43
|
+
|
|
44
|
+
static flags = {
|
|
45
|
+
'exclude-table-data': flags.string({description: 'tables for which data should be excluded (use \';\' to split multiple names)', hasValue: true}),
|
|
46
|
+
app: flags.app({required: true}),
|
|
47
|
+
remote: flags.remote(),
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static args = {
|
|
51
|
+
source: Args.string({required: true, description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
52
|
+
target: Args.string({required: true, description: 'PostgreSQL connection string for the target database'}),
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public async run(): Promise<void> {
|
|
56
|
+
const {flags, args} = await this.parse(Pull)
|
|
57
|
+
const {app, 'exclude-table-data': excludeTableData} = flags
|
|
58
|
+
|
|
59
|
+
const exclusions = parseExclusions(excludeTableData)
|
|
60
|
+
const source = await database(this.heroku, app, args.source)
|
|
61
|
+
const target = parsePostgresConnectionString(args.target)
|
|
62
|
+
|
|
63
|
+
ux.log(`Pulling ${color.cyan(source.attachment.addon.name)} to ${color.addon(args.target)}`)
|
|
64
|
+
await this.pull(source, target, exclusions)
|
|
65
|
+
ux.log('Pulling complete.')
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
protected async pull(
|
|
69
|
+
sourceIn: ConnectionDetails,
|
|
70
|
+
targetIn: ConnectionDetails,
|
|
71
|
+
exclusions: string[]) {
|
|
72
|
+
await prepare(targetIn)
|
|
73
|
+
|
|
74
|
+
const source = await maybeTunnel(sourceIn)
|
|
75
|
+
const target = await maybeTunnel(targetIn)
|
|
76
|
+
const exclude = exclusions.map(function (e) {
|
|
77
|
+
return '--exclude-table-data=' + e
|
|
78
|
+
}).join(' ')
|
|
79
|
+
|
|
80
|
+
const dumpFlags = ['--verbose', '-F', 'c', '-Z', '0', '-N', '_heroku', ...connArgs(source, true)]
|
|
81
|
+
|
|
82
|
+
if (exclude !== '') dumpFlags.push(exclude)
|
|
83
|
+
|
|
84
|
+
const dumpOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
85
|
+
env: {
|
|
86
|
+
PGSSLMODE: 'prefer',
|
|
87
|
+
...env,
|
|
88
|
+
} as {[key: string]: string},
|
|
89
|
+
stdio: ['pipe', 'pipe', 2],
|
|
90
|
+
shell: true,
|
|
91
|
+
}
|
|
92
|
+
if (source.password) dumpOptions.env.PGPASSWORD = source.password
|
|
93
|
+
|
|
94
|
+
const restoreFlags = ['--verbose', '-F', 'c', '--no-acl', '--no-owner', ...connArgs(target)]
|
|
95
|
+
|
|
96
|
+
const restoreOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
97
|
+
env: {...env},
|
|
98
|
+
stdio: ['pipe', 'pipe', 2],
|
|
99
|
+
shell: true,
|
|
100
|
+
}
|
|
101
|
+
if (target.password) restoreOptions.env.PGPASSWORD = target.password
|
|
102
|
+
|
|
103
|
+
const pgDump = spawn('pg_dump', dumpFlags, dumpOptions)
|
|
104
|
+
const pgRestore = spawn('pg_restore', restoreFlags, restoreOptions)
|
|
105
|
+
|
|
106
|
+
await spawnPipe(pgDump, pgRestore)
|
|
107
|
+
|
|
108
|
+
if (source._tunnel) source._tunnel.close()
|
|
109
|
+
if (target._tunnel) target._tunnel.close()
|
|
110
|
+
|
|
111
|
+
await verifyExtensionsMatch(sourceIn, targetIn)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import color from '@heroku-cli/color'
|
|
4
|
+
import {Command, flags} from '@heroku-cli/command'
|
|
5
|
+
import {Args, ux} from '@oclif/core'
|
|
6
|
+
import heredoc from 'tsheredoc'
|
|
7
|
+
import {database} from '../../lib/pg/fetcher'
|
|
8
|
+
import {ConnectionDetails, parsePostgresConnectionString} from '../../lib/pg/util'
|
|
9
|
+
import {
|
|
10
|
+
connArgs,
|
|
11
|
+
maybeTunnel,
|
|
12
|
+
parseExclusions,
|
|
13
|
+
prepare,
|
|
14
|
+
spawnPipe,
|
|
15
|
+
verifyExtensionsMatch,
|
|
16
|
+
} from '../../lib/pg/push_pull'
|
|
17
|
+
import {SpawnOptions, spawn} from 'node:child_process'
|
|
18
|
+
import {nls} from '../../nls'
|
|
19
|
+
const env = process.env
|
|
20
|
+
|
|
21
|
+
export default class Push extends Command {
|
|
22
|
+
static topic = 'pg'
|
|
23
|
+
static description = heredoc`
|
|
24
|
+
push local or remote into Heroku database
|
|
25
|
+
Push from SOURCE into TARGET. TARGET must be empty.
|
|
26
|
+
|
|
27
|
+
To empty a Heroku database for push run ${color.cmd('heroku pg:reset')}
|
|
28
|
+
|
|
29
|
+
SOURCE must be either the name of a database existing on your localhost or the
|
|
30
|
+
fully qualified URL of a remote database.
|
|
31
|
+
`
|
|
32
|
+
|
|
33
|
+
static examples = [heredoc`
|
|
34
|
+
# push mylocaldb into a Heroku DB named postgresql-swimmingly-100
|
|
35
|
+
$ heroku pg:push mylocaldb postgresql-swimmingly-100 --app sushi
|
|
36
|
+
`, heredoc`
|
|
37
|
+
# push remote DB at postgres://myhost/mydb into a Heroku DB named postgresql-swimmingly-100
|
|
38
|
+
$ heroku pg:push postgres://myhost/mydb postgresql-swimmingly-100 --app sushi
|
|
39
|
+
`]
|
|
40
|
+
|
|
41
|
+
static flags = {
|
|
42
|
+
'exclude-table-data': flags.string({description: 'tables for which data should be excluded (use \';\' to split multiple names)', hasValue: true}),
|
|
43
|
+
app: flags.app({required: true}),
|
|
44
|
+
remote: flags.remote(),
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static args = {
|
|
48
|
+
source: Args.string({required: true, description: 'PostgreSQL connection string for the source database'}),
|
|
49
|
+
target: Args.string({required: true, description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public async run(): Promise<void> {
|
|
53
|
+
const {flags, args} = await this.parse(Push)
|
|
54
|
+
const {app, 'exclude-table-data': excludeTableData} = flags
|
|
55
|
+
|
|
56
|
+
const exclusions = parseExclusions(excludeTableData)
|
|
57
|
+
const source = parsePostgresConnectionString(args.source)
|
|
58
|
+
const target = await database(this.heroku, app, args.target)
|
|
59
|
+
|
|
60
|
+
ux.log(`Pushing ${color.cyan(args.source)} to ${color.addon(target.attachment.addon.name)}`)
|
|
61
|
+
await this.push(source, target, exclusions)
|
|
62
|
+
ux.log('Pushing complete.')
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
protected async push(
|
|
66
|
+
sourceIn: ConnectionDetails,
|
|
67
|
+
targetIn: ConnectionDetails,
|
|
68
|
+
exclusions: string[]) {
|
|
69
|
+
await prepare(targetIn)
|
|
70
|
+
|
|
71
|
+
const source = await maybeTunnel(sourceIn)
|
|
72
|
+
const target = await maybeTunnel(targetIn)
|
|
73
|
+
const exclude = exclusions.map(function (e) {
|
|
74
|
+
return '--exclude-table-data=' + e
|
|
75
|
+
}).join(' ')
|
|
76
|
+
|
|
77
|
+
const dumpFlags = ['--verbose', '-F', 'c', '-Z', '0', '-N', '_heroku', ...connArgs(source, true)]
|
|
78
|
+
|
|
79
|
+
if (exclude !== '') dumpFlags.push(exclude)
|
|
80
|
+
|
|
81
|
+
const dumpOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
82
|
+
env: {
|
|
83
|
+
PGSSLMODE: 'prefer',
|
|
84
|
+
...env,
|
|
85
|
+
} as {[key: string]: string},
|
|
86
|
+
stdio: ['pipe', 'pipe', 2],
|
|
87
|
+
shell: true,
|
|
88
|
+
}
|
|
89
|
+
if (source.password) dumpOptions.env.PGPASSWORD = source.password
|
|
90
|
+
|
|
91
|
+
const restoreFlags = ['--verbose', '-F', 'c', '--no-acl', '--no-owner', ...connArgs(target)]
|
|
92
|
+
|
|
93
|
+
const restoreOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
94
|
+
env: {...env},
|
|
95
|
+
stdio: ['pipe', 'pipe', 2],
|
|
96
|
+
shell: true,
|
|
97
|
+
}
|
|
98
|
+
if (target.password) restoreOptions.env.PGPASSWORD = target.password
|
|
99
|
+
|
|
100
|
+
const pgDump = spawn('pg_dump', dumpFlags, dumpOptions)
|
|
101
|
+
const pgRestore = spawn('pg_restore', restoreFlags, restoreOptions)
|
|
102
|
+
|
|
103
|
+
await spawnPipe(pgDump, pgRestore)
|
|
104
|
+
|
|
105
|
+
if (source._tunnel) source._tunnel.close()
|
|
106
|
+
if (target._tunnel) target._tunnel.close()
|
|
107
|
+
|
|
108
|
+
await verifyExtensionsMatch(sourceIn, targetIn)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import color from '@heroku-cli/color'
|
|
4
|
+
import {Command, flags} from '@heroku-cli/command'
|
|
5
|
+
import {Args, ux} from '@oclif/core'
|
|
6
|
+
import confirmCommand from '../../lib/confirmCommand'
|
|
7
|
+
import pgHost from '../../lib/pg/host'
|
|
8
|
+
import {getAddon} from '../../lib/pg/fetcher'
|
|
9
|
+
import heredoc from 'tsheredoc'
|
|
10
|
+
import {nls} from '../../nls'
|
|
11
|
+
|
|
12
|
+
export default class Reset extends Command {
|
|
13
|
+
static topic = 'pg';
|
|
14
|
+
static description = 'delete all data in DATABASE';
|
|
15
|
+
static flags = {
|
|
16
|
+
extensions: flags.string({char: 'e', description: 'comma-separated list of extensions to pre-install in the public schema'}),
|
|
17
|
+
confirm: flags.string({char: 'c'}),
|
|
18
|
+
app: flags.app({required: true}),
|
|
19
|
+
remote: flags.remote(),
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
static args = {
|
|
23
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
public async run(): Promise<void> {
|
|
27
|
+
const {flags, args} = await this.parse(Reset)
|
|
28
|
+
const {app, confirm, extensions} = flags
|
|
29
|
+
const db = await getAddon(this.heroku, app, args.database)
|
|
30
|
+
let extensionsArray
|
|
31
|
+
if (extensions) {
|
|
32
|
+
extensionsArray = extensions.split(',')
|
|
33
|
+
.map(ext => ext.trim()
|
|
34
|
+
.toLowerCase())
|
|
35
|
+
.sort()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
await confirmCommand(app, confirm, heredoc(`
|
|
39
|
+
Destructive action
|
|
40
|
+
${color.addon(db.name)} will lose all of its data
|
|
41
|
+
`))
|
|
42
|
+
ux.action.start(`Resetting ${color.addon(db.name)}`)
|
|
43
|
+
await this.heroku.put(`/client/v11/databases/${db.id}/reset`, {
|
|
44
|
+
body: {extensions: extensionsArray}, hostname: pgHost(),
|
|
45
|
+
})
|
|
46
|
+
ux.action.stop()
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {Args} from '@oclif/core'
|
|
4
|
+
import heredoc from 'tsheredoc'
|
|
5
|
+
import {PGSettingsCommand, booleanConverter, BooleanAsString} from '../../../../lib/pg/setter'
|
|
6
|
+
import {SettingKey, Setting} from '../../../../lib/pg/types'
|
|
7
|
+
import {nls} from '../../../../nls'
|
|
8
|
+
|
|
9
|
+
export default class LogAnalyze extends PGSettingsCommand {
|
|
10
|
+
static topic = 'pg'
|
|
11
|
+
static description = heredoc(`
|
|
12
|
+
Shows actual run times on the execution plan.
|
|
13
|
+
This is equivalent to calling EXPLAIN ANALYZE.
|
|
14
|
+
|
|
15
|
+
WARNING: EXPLAIN ANALYZE will be run on ALL queries, not just logged queries. This can cause significant performance impacts to your database and should be used with caution.
|
|
16
|
+
`)
|
|
17
|
+
|
|
18
|
+
static args = {
|
|
19
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
20
|
+
value: Args.string({description: 'boolean indicating if execution plans get logged'}),
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
protected settingKey = 'auto_explain.log_analyze' as SettingKey
|
|
24
|
+
|
|
25
|
+
protected convertValue(val: BooleanAsString): boolean {
|
|
26
|
+
return booleanConverter(val)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
protected explain(setting: Setting<boolean>) {
|
|
30
|
+
if (setting.value) {
|
|
31
|
+
return 'EXPLAIN ANALYZE execution plans will be logged.'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return 'EXPLAIN ANALYZE execution plans will not be logged.'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {Args} from '@oclif/core'
|
|
4
|
+
import heredoc from 'tsheredoc'
|
|
5
|
+
import {BooleanAsString, PGSettingsCommand, booleanConverter} from '../../../../lib/pg/setter'
|
|
6
|
+
import {Setting, SettingKey} from '../../../../lib/pg/types'
|
|
7
|
+
import {nls} from '../../../../nls'
|
|
8
|
+
|
|
9
|
+
export default class LogBuffersWaits extends PGSettingsCommand {
|
|
10
|
+
static topic = 'pg'
|
|
11
|
+
static description = heredoc(`
|
|
12
|
+
Includes buffer usage statistics when execution plans are logged.
|
|
13
|
+
This is equivalent to calling EXPLAIN BUFFERS and can only be used in conjunction with pg:settings:auto-explain:log-analyze turned on.
|
|
14
|
+
`)
|
|
15
|
+
|
|
16
|
+
static args = {
|
|
17
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
18
|
+
value: Args.string({description: 'boolean indicating if the database has buffer statistics enabled'}),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
protected settingKey: SettingKey = 'auto_explain.log_buffers'
|
|
22
|
+
|
|
23
|
+
protected convertValue(val: BooleanAsString): boolean {
|
|
24
|
+
return booleanConverter(val)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
protected explain(setting: Setting<boolean>) {
|
|
28
|
+
if (setting.value) {
|
|
29
|
+
return 'Buffer statistics have been enabled for auto_explain.'
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return 'Buffer statistics have been disabled for auto_explain.'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {Args} from '@oclif/core'
|
|
4
|
+
import {PGSettingsCommand} from '../../../../lib/pg/setter'
|
|
5
|
+
import {Setting, SettingKey} from '../../../../lib/pg/types'
|
|
6
|
+
import heredoc from 'tsheredoc'
|
|
7
|
+
import {nls} from '../../../../nls'
|
|
8
|
+
|
|
9
|
+
export default class LogFormat extends PGSettingsCommand {
|
|
10
|
+
static description = heredoc(`
|
|
11
|
+
selects the EXPLAIN output format to be used
|
|
12
|
+
The allowed values are text, xml, json, and yaml. The default is text.
|
|
13
|
+
`)
|
|
14
|
+
|
|
15
|
+
static args = {
|
|
16
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
17
|
+
value: Args.string({options: ['text', 'json', 'yaml', 'xml'], description: 'format of the log output\n<options: text|json|yaml|xml>'}),
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
protected settingKey: SettingKey = 'auto_explain.log_format'
|
|
21
|
+
|
|
22
|
+
protected explain(setting: Setting<string>) {
|
|
23
|
+
return `Auto explain log output will log in ${setting.value} format.`
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
protected convertValue(val: string): string {
|
|
27
|
+
return val
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {Args} from '@oclif/core'
|
|
4
|
+
import heredoc from 'tsheredoc'
|
|
5
|
+
import {PGSettingsCommand, numericConverter} from '../../../../lib/pg/setter'
|
|
6
|
+
import {Setting, SettingKey} from '../../../../lib/pg/types'
|
|
7
|
+
import {nls} from '../../../../nls'
|
|
8
|
+
|
|
9
|
+
export default class LogMinDuration extends PGSettingsCommand {
|
|
10
|
+
static topic = 'pg'
|
|
11
|
+
static description = heredoc(`
|
|
12
|
+
Sets the minimum execution time in milliseconds for a statement's plan to be logged.
|
|
13
|
+
Setting this value to 0 will log all queries. Setting this value to -1 will disable logging entirely.
|
|
14
|
+
`)
|
|
15
|
+
|
|
16
|
+
static args = {
|
|
17
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
18
|
+
value: Args.string({description: 'minimum duration in milliseconds for queries before logging execution plans. A value of -1 disables it. A value of 0 logs all query execution plans.'}),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
protected settingKey: SettingKey = 'auto_explain.log_min_duration'
|
|
22
|
+
|
|
23
|
+
protected convertValue(val: string): number {
|
|
24
|
+
return numericConverter(val)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
protected explain(setting: Setting<number>) {
|
|
28
|
+
if (setting.value === -1) {
|
|
29
|
+
return 'Execution plan logging has been disabled.'
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (setting.value === 0) {
|
|
33
|
+
return 'All queries will have their execution plans logged.'
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return `All execution plans will be logged for queries taking up to ${setting.value} milliseconds or more.`
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {Args} from '@oclif/core'
|
|
4
|
+
import {type BooleanAsString, booleanConverter, PGSettingsCommand} from '../../../../lib/pg/setter'
|
|
5
|
+
import type {Setting, SettingKey} from '../../../../lib/pg/types'
|
|
6
|
+
import {nls} from '../../../../nls'
|
|
7
|
+
|
|
8
|
+
export default class LogNestedStatements extends PGSettingsCommand {
|
|
9
|
+
static description = "Nested statements are included in the execution plan's log."
|
|
10
|
+
|
|
11
|
+
static args = {
|
|
12
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
13
|
+
value: Args.string({description: 'boolean indicating if execution plan logs include nested statements'}),
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
protected settingKey: SettingKey = 'auto_explain.log_nested_statements'
|
|
17
|
+
|
|
18
|
+
protected convertValue(val: unknown): boolean {
|
|
19
|
+
return booleanConverter(val as BooleanAsString)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
protected explain(setting: Setting<unknown>) {
|
|
23
|
+
if (setting.value) {
|
|
24
|
+
return 'Nested statements will be included in execution plan logs.'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return 'Only top-level execution plans will be included in logs.'
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {Args} from '@oclif/core'
|
|
4
|
+
import heredoc from 'tsheredoc'
|
|
5
|
+
import {PGSettingsCommand, booleanConverter, BooleanAsString} from '../../../../lib/pg/setter'
|
|
6
|
+
import {SettingKey, Setting} from '../../../../lib/pg/types'
|
|
7
|
+
import {nls} from '../../../../nls'
|
|
8
|
+
|
|
9
|
+
export default class LogTriggers extends PGSettingsCommand {
|
|
10
|
+
static topic = 'pg'
|
|
11
|
+
static description = heredoc(`
|
|
12
|
+
Includes trigger execution statistics in execution plan logs.
|
|
13
|
+
This parameter can only be used in conjunction with pg:settings:auto-explain:log-analyze turned on.
|
|
14
|
+
`)
|
|
15
|
+
|
|
16
|
+
static args = {
|
|
17
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
18
|
+
value: Args.string({description: 'boolean indicating if the database has trigger execution statistics enabled'}),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
protected settingKey = 'auto_explain.log_triggers' as SettingKey
|
|
22
|
+
|
|
23
|
+
protected convertValue(val: BooleanAsString): boolean {
|
|
24
|
+
return booleanConverter(val)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
protected explain(setting: Setting<boolean>) {
|
|
28
|
+
if (setting.value) {
|
|
29
|
+
return 'Trigger execution statistics have been enabled for auto-explain.'
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return 'Trigger execution statistics have been disabled for auto-explain.'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {flags} from '@heroku-cli/command'
|
|
4
|
+
import {Args} from '@oclif/core'
|
|
5
|
+
import heredoc from 'tsheredoc'
|
|
6
|
+
import {type BooleanAsString, booleanConverter, PGSettingsCommand} from '../../../../lib/pg/setter'
|
|
7
|
+
import type {Setting, SettingKey} from '../../../../lib/pg/types'
|
|
8
|
+
import {nls} from '../../../../nls'
|
|
9
|
+
|
|
10
|
+
export default class AutoExplainLogVerbose extends PGSettingsCommand {
|
|
11
|
+
static topic = 'pg'
|
|
12
|
+
static description = heredoc(
|
|
13
|
+
`Include verbose details in execution plans.
|
|
14
|
+
This is equivalent to calling EXPLAIN VERBOSE.`)
|
|
15
|
+
|
|
16
|
+
static flags = {
|
|
17
|
+
app: flags.app({required: true}),
|
|
18
|
+
remote: flags.remote(),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static args = {
|
|
22
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
23
|
+
value: Args.string({description: 'boolean indicating if the database has verbose execution plan logging enabled'}),
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
protected settingKey: SettingKey = 'auto_explain.log_verbose'
|
|
27
|
+
|
|
28
|
+
protected explain(setting: Setting<unknown>) {
|
|
29
|
+
if (setting.value) {
|
|
30
|
+
return 'Verbose execution plan logging has been enabled for auto_explain.'
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return 'Verbose execution plan logging has been disabled for auto_explain.'
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
protected convertValue(val: unknown): boolean {
|
|
37
|
+
return booleanConverter(val as BooleanAsString)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {flags} from '@heroku-cli/command'
|
|
4
|
+
import {Args} from '@oclif/core'
|
|
5
|
+
import heredoc from 'tsheredoc'
|
|
6
|
+
import {BooleanAsString, booleanConverter, PGSettingsCommand} from '../../../lib/pg/setter'
|
|
7
|
+
import {Setting, SettingKey} from '../../../lib/pg/types'
|
|
8
|
+
import {nls} from '../../../nls'
|
|
9
|
+
|
|
10
|
+
// ref: https://www.postgresql.org/docs/current/auto-explain.html
|
|
11
|
+
export default class AutoExplain extends PGSettingsCommand {
|
|
12
|
+
static topic = 'pg';
|
|
13
|
+
static description = heredoc(`
|
|
14
|
+
Automatically log execution plans of queries without running EXPLAIN by hand.
|
|
15
|
+
The auto_explain module is loaded at session-time so existing connections will not be logged.
|
|
16
|
+
Restart your Heroku app and/or restart existing connections for logging to start taking place.
|
|
17
|
+
`)
|
|
18
|
+
|
|
19
|
+
static flags = {
|
|
20
|
+
app: flags.app({required: true}),
|
|
21
|
+
remote: flags.remote(),
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static args = {
|
|
25
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
26
|
+
value: Args.string({description: 'boolean indicating if execution plans of queries will be logged for future connections'}),
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static strict = false
|
|
30
|
+
|
|
31
|
+
protected settingKey: SettingKey = 'auto_explain'
|
|
32
|
+
|
|
33
|
+
protected convertValue(val: BooleanAsString): boolean {
|
|
34
|
+
return booleanConverter(val)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
protected explain(setting: Setting<boolean>): string {
|
|
38
|
+
if (setting.value) {
|
|
39
|
+
return 'Execution plans of queries will be logged for future connections.'
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return 'Execution plans of queries will not be logged for future connections.'
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
import {flags} from '@heroku-cli/command'
|
|
4
|
+
import {Args} from '@oclif/core'
|
|
5
|
+
import heredoc from 'tsheredoc'
|
|
6
|
+
import {type BooleanAsString, booleanConverter, PGSettingsCommand} from '../../../lib/pg/setter'
|
|
7
|
+
import type {Setting, SettingKey} from '../../../lib/pg/types'
|
|
8
|
+
import {nls} from '../../../nls'
|
|
9
|
+
|
|
10
|
+
export default class DataConnectorDetailsLogs extends PGSettingsCommand {
|
|
11
|
+
static aliases = ['pg:settings:explain-data-connector-details']
|
|
12
|
+
static description = heredoc(`
|
|
13
|
+
displays stats on replication slots on your database, the default value is "off"
|
|
14
|
+
`)
|
|
15
|
+
|
|
16
|
+
static flags = {
|
|
17
|
+
app: flags.app({required: true}),
|
|
18
|
+
remote: flags.remote(),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static args = {
|
|
22
|
+
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
23
|
+
value: Args.string({description: 'boolean indicating if data replication slot details get logged'}),
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
protected settingKey:SettingKey = 'data_connector_details_logs'
|
|
27
|
+
|
|
28
|
+
protected convertValue(val: BooleanAsString): boolean {
|
|
29
|
+
return booleanConverter(val)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
protected explain(setting: Setting<boolean>): string {
|
|
33
|
+
if (setting?.value) {
|
|
34
|
+
return 'Data replication slot details will be logged.'
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return 'Data replication slot details will no longer be logged.'
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|