Co-authored-by: Eve832 <eve.meelan@grafana.com>
Co-authored-by: Francisco Montes de Oca <nevermind89x@gmail.com>
Co-authored-by: Ildar Iskhakov <ildar.iskhakov@grafana.com>
Co-authored-by: Innokentii Konstantinov <innokenty.konstantinov@grafana.com>
Co-authored-by: Julia <ferril.darkdiver@gmail.com>
Co-authored-by: maskin25 <kengurek@gmail.com>
Co-authored-by: Matias Bordese <mbordese@gmail.com>
Co-authored-by: Matvey Kukuy <motakuk@gmail.com>
Co-authored-by: Michael Derynck <michael.derynck@grafana.com>
Co-authored-by: Richard Hartmann <richih@richih.org>
Co-authored-by: Robby Milo <robbymilo@fastmail.com>
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
Co-authored-by: Yulia Shanyrova <yulia.shanyrova@grafana.com>
27 lines
1,001 B
Python
27 lines
1,001 B
Python
from celery import uuid as celery_uuid
|
|
from django.db import models
|
|
|
|
|
|
class AmixrMigrationTaskStatusQuerySet(models.QuerySet):
|
|
def get_migration_task_id(self, organization_id, name):
|
|
migrate_schedules_task_id = celery_uuid()
|
|
self.model(organization_id=organization_id, name=name, task_id=migrate_schedules_task_id).save()
|
|
return migrate_schedules_task_id
|
|
|
|
|
|
class AmixrMigrationTaskStatus(models.Model):
|
|
objects = AmixrMigrationTaskStatusQuerySet.as_manager()
|
|
|
|
task_id = models.CharField(max_length=500, db_index=True)
|
|
name = models.CharField(max_length=500)
|
|
organization = models.ForeignKey(
|
|
to="user_management.Organization",
|
|
related_name="migration_tasks",
|
|
on_delete=models.deletion.CASCADE,
|
|
)
|
|
started_at = models.DateTimeField(auto_now_add=True)
|
|
is_finished = models.BooleanField(default=False)
|
|
|
|
def update_status_to_finished(self):
|
|
self.is_finished = True
|
|
self.save(update_fields=["is_finished"])
|