def handle(self, *args, **options):
        """
        By default, we're going to do this in chunks. This way, if there ends up being an error,
        we can check log messages and continue from that point after fixing the issue.
        """
        # Note that by taking last_id here, we're going to miss any submissions created *during* the command execution
        # But that's okay! All new entries have already been created using the new style, no acion needed there
        last_id = Submission._objects.all().aggregate(Max('id'))['id__max']
        log.info("Beginning uuid update")

        current = options['start']
        while current < last_id:
            end_chunk = current + options['chunk'] if last_id - options['chunk'] >= current else last_id
            log.info("Updating entries in range [{}, {}]".format(current, end_chunk))
            with transaction.atomic():
                for submission in Submission._objects.filter(id__gte=current, id__lte=end_chunk).iterator():
                    submission.save(update_fields=['uuid'])
            time.sleep(options['wait'])
            current = end_chunk + 1
By default, we're going to do this in chunks. This way, if there ends up being an error,
        we can check log messages and continue from that point after fixing the issue.