fix: data migrations for page versioning (#5100)
* dev: remove issue type back migrations * dev: revert data migrations * dev: update migrations to run async * dev: remove unused imports
This commit is contained in:
parent
ec1662cbd6
commit
f9a3778c7f
5 changed files with 129 additions and 29 deletions
63
apiserver/plane/db/backfills/backfill_0070_page_versions.py
Normal file
63
apiserver/plane/db/backfills/backfill_0070_page_versions.py
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Third party imports
|
||||
from celery import shared_task
|
||||
|
||||
# Django imports
|
||||
from django.utils import timezone
|
||||
|
||||
# Module imports
|
||||
from plane.db.models import PageVersion, IssueType, Issue
|
||||
|
||||
|
||||
@shared_task
|
||||
def backfill_issue_type_task(projects):
|
||||
# Create the issue types for all projects
|
||||
IssueType.objects.bulk_create(
|
||||
[
|
||||
IssueType(
|
||||
name="Task",
|
||||
description="A task that needs to be completed.",
|
||||
project_id=project["id"],
|
||||
workspace_id=project["workspace_id"],
|
||||
)
|
||||
for project in projects
|
||||
],
|
||||
batch_size=1000,
|
||||
)
|
||||
|
||||
# Update the issue type for all existing issues
|
||||
issue_types = {
|
||||
str(issue_type["project_id"]): str(issue_type["id"])
|
||||
for issue_type in IssueType.objects.filter(
|
||||
project_id__in=[project["id"] for project in projects]
|
||||
).values("id", "project_id")
|
||||
}
|
||||
# Update the issue type for all existing issues
|
||||
bulk_issues = []
|
||||
for issue in Issue.objects.filter(
|
||||
project_id__in=[project["id"] for project in projects]
|
||||
):
|
||||
issue.type_id = issue_types[str(issue.project_id)]
|
||||
bulk_issues.append(issue)
|
||||
|
||||
# Update the issue type for all existing issues
|
||||
Issue.objects.bulk_update(bulk_issues, ["type_id"], batch_size=1000)
|
||||
|
||||
|
||||
@shared_task
|
||||
def backfill_page_versions_task(pages):
|
||||
# Create the page versions for all pages
|
||||
PageVersion.objects.bulk_create(
|
||||
[
|
||||
PageVersion(
|
||||
page_id=page["id"],
|
||||
workspace_id=page["workspace_id"],
|
||||
last_saved_at=timezone.now(),
|
||||
owned_by_id=page["owned_by_id"],
|
||||
description_binary=page["description_binary"],
|
||||
description_html=page["description_html"],
|
||||
description_stripped=page["description_stripped"],
|
||||
)
|
||||
for page in pages
|
||||
],
|
||||
batch_size=1000,
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue