{% extends "admin/dbs/wiki/_layout.html" %} {% block wiki %}

Command reference

python manage.py dbs backup OUTPUT [--allow-missing-files] [--database ALIAS]
python manage.py dbs backup --stream [--prefix PREFIX] [--output-dir DIR]
python manage.py dbs restore INPUT [--dry-run] [--flush]
python manage.py dbs validate INPUT [--passphrase]
python manage.py dbs schedule [--interval 6h] [--keep 1-5] [--once]
python manage.py dbs health [--json]
python manage.py dbs audit verify
python manage.py dbs connection [--json]
python manage.py dbs key --show
python manage.py dbs security status|unlock USER|retrain|purge
python manage.py dbs ai [--agents] [--check]
python manage.py dbs upgrade [--check] [--self [--to X.Y.Z]] [--backups DIR]

dbs backup OUTPUT refuses a path that already exists. A missing or unreadable source file stops it; --allow-missing-files backs up without the file and lists what was left out.

dbs audit verify walks the audit trail's hash chain: each finished row is sealed with the SHA-256 of the row before it and its own content, so a row changed or deleted after it was written breaks the chain there. It prints the first broken link, or the head of the chain to keep somewhere else. No DBS command deletes audit rows.

The standalone manager, outside any project (pip install "django-dbs[manager]"):

django_dbs run [--port] [--host] [--trusted-proxy CIDR] [--no-browser]
django_dbs createuser NAME --role admin|operator|viewer
django_dbs account list|role|disable|enable|reset-2fa
django_dbs password NAME
django_dbs server list|show|add|edit|remove|check|discover|browse|confirm-host-key
django_dbs backup list|take|verify|restore|download|upload|delete|undo-delete
django_dbs plan list|show|add|edit|remove|run
django_dbs activity list|show
django_dbs env list|pull|compare|reveal|push
django_dbs files list|download|upload|mkdir|delete
django_dbs redeploy start --from SERVER --to SERVER [--real]
django_dbs redeploy revert MOVE_ID [--real]

dbs backup --stream is how the manager takes a backup: the file goes to standard output and a copy stays in DBS_BACKUP_DIR, so a backup whose connection breaks is collected the next time the manager connects. The last line it prints on standard error is a JSON summary of the name, size and SHA-256.

python manage.py django-dbs is the same command under its old name. The original dbs_backup, dbs_restore, dbs_validate and dbs_schedule commands still work unchanged.

{% endblock %}