from django.core.management.base import BaseCommand, CommandError from core.backup import BackupError, create_backup class Command(BaseCommand): help = "Create a local PostgreSQL backup and checksum manifest." def add_arguments(self, parser): parser.add_argument("--output", dest="output") def handle(self, *args, **options): try: result = create_backup(options["output"]) except BackupError as error: raise CommandError(error.code) from None self.stdout.write(f"backup={result.name} format={result.version}") for table, count in sorted(result.row_counts.items()): self.stdout.write(f"table={table} rows={count}")