import logging
|
|
from core.models import AsyncMigrationStatus
|
from django.core.management.base import BaseCommand
|
|
logger = logging.getLogger(__name__)
|
|
|
class Command(BaseCommand):
|
help = 'Show async migrations'
|
|
def add_arguments(self, parser):
|
parser.add_argument('-o', '--organization', type=int, help='organization id', default=-1)
|
|
def handle(self, *args, **options):
|
org = options['organization']
|
logger.debug(f"===> AsyncMigrationStatus for Organization {org if org > -1 else 'ALL'}")
|
if org == -1:
|
migrations = AsyncMigrationStatus.objects.all().order_by('project_id')
|
else:
|
migrations = AsyncMigrationStatus.objects.filter(project__organization_id=org)
|
|
for m in migrations:
|
logger.debug(f'{m.name} \t {m.created_at} \t Project <{m.project}> \t {m.status} \t {m.meta}')
|
|
logger.debug(f"===> AsyncMigrationStatus for Organization {org if org > -1 else 'ALL'} printed")
|