From a6baadb215700499df49b2e7f5b3a408fb8ff9ce Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Tue, 26 Sep 2023 15:49:46 +0530 Subject: [PATCH 1/3] dev: split issue activity migration separate files --- .../db/migrations/0045_auto_20230915_0655.py | 26 +------------- .../db/migrations/0046_auto_20230926_1015.py | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 25 deletions(-) create mode 100644 apiserver/plane/db/migrations/0046_auto_20230926_1015.py diff --git a/apiserver/plane/db/migrations/0045_auto_20230915_0655.py b/apiserver/plane/db/migrations/0045_auto_20230915_0655.py index 8512594ba7b..cd9aa690220 100644 --- a/apiserver/plane/db/migrations/0045_auto_20230915_0655.py +++ b/apiserver/plane/db/migrations/0045_auto_20230915_0655.py @@ -6,29 +6,6 @@ import uuid -def update_issue_activity(apps, schema_editor): - IssueActivity = apps.get_model("db", "IssueActivity") - updated_issue_activity = [] - for obj in IssueActivity.objects.all(): - obj.epoch = int(obj.created_at.timestamp()) - - # Set the old and new value to none if it is empty for Priority - if obj.field == "priority": - obj.new_value = obj.new_value or "none" - obj.old_value = obj.old_value or "none" - - # Change the field name from blocks to blocked_by - if obj.field == "blocks": - obj.field = "blocked_by" - - updated_issue_activity.append(obj) - IssueActivity.objects.bulk_update( - updated_issue_activity, - ["epoch", "field", "new_value", "old_value"], - batch_size=100, - ) - - class Migration(migrations.Migration): dependencies = [ ("db", "0044_auto_20230913_0709"), @@ -61,6 +38,5 @@ class Migration(migrations.Migration): model_name="issueactivity", name="epoch", field=models.FloatField(null=True), - ), - migrations.RunPython(update_issue_activity), + ), ] diff --git a/apiserver/plane/db/migrations/0046_auto_20230926_1015.py b/apiserver/plane/db/migrations/0046_auto_20230926_1015.py new file mode 100644 index 00000000000..b51ffd3602c --- /dev/null +++ b/apiserver/plane/db/migrations/0046_auto_20230926_1015.py @@ -0,0 +1,36 @@ +# Generated by Django 4.2.5 on 2023-09-26 10:15 + +from django.db import migrations + + +def update_issue_activity(apps, schema_editor): + IssueActivity = apps.get_model("db", "IssueActivity") + updated_issue_activity = [] + for obj in IssueActivity.objects.all(): + obj.epoch = int(obj.created_at.timestamp()) + + # Set the old and new value to none if it is empty for Priority + if obj.field == "priority": + obj.new_value = obj.new_value or "none" + obj.old_value = obj.old_value or "none" + + # Change the field name from blocks to blocked_by + if obj.field == "blocks": + obj.field = "blocked_by" + + updated_issue_activity.append(obj) + IssueActivity.objects.bulk_update( + updated_issue_activity, + ["epoch", "field", "new_value", "old_value"], + batch_size=2000, + ) + +class Migration(migrations.Migration): + + dependencies = [ + ('db', '0045_auto_20230915_0655'), + ] + + operations = [ + migrations.RunPython(update_issue_activity), + ] From 14d5870f31415d5758a3a5bdacac9fd9abd9206d Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Tue, 26 Sep 2023 16:08:24 +0530 Subject: [PATCH 2/3] dev: resplit migrations into two different files --- .../db/migrations/0046_auto_20230926_1015.py | 12 +---- .../db/migrations/0047_auto_20230926_1029.py | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 apiserver/plane/db/migrations/0047_auto_20230926_1029.py diff --git a/apiserver/plane/db/migrations/0046_auto_20230926_1015.py b/apiserver/plane/db/migrations/0046_auto_20230926_1015.py index b51ffd3602c..90c758861df 100644 --- a/apiserver/plane/db/migrations/0046_auto_20230926_1015.py +++ b/apiserver/plane/db/migrations/0046_auto_20230926_1015.py @@ -8,20 +8,10 @@ def update_issue_activity(apps, schema_editor): updated_issue_activity = [] for obj in IssueActivity.objects.all(): obj.epoch = int(obj.created_at.timestamp()) - - # Set the old and new value to none if it is empty for Priority - if obj.field == "priority": - obj.new_value = obj.new_value or "none" - obj.old_value = obj.old_value or "none" - - # Change the field name from blocks to blocked_by - if obj.field == "blocks": - obj.field = "blocked_by" - updated_issue_activity.append(obj) IssueActivity.objects.bulk_update( updated_issue_activity, - ["epoch", "field", "new_value", "old_value"], + ["epoch"], batch_size=2000, ) diff --git a/apiserver/plane/db/migrations/0047_auto_20230926_1029.py b/apiserver/plane/db/migrations/0047_auto_20230926_1029.py new file mode 100644 index 00000000000..da64e11c84a --- /dev/null +++ b/apiserver/plane/db/migrations/0047_auto_20230926_1029.py @@ -0,0 +1,44 @@ +# Generated by Django 4.2.5 on 2023-09-26 10:29 + +from django.db import migrations + + +def update_issue_activity_priority(apps, schema_editor): + IssueActivity = apps.get_model("db", "IssueActivity") + updated_issue_activity = [] + for obj in IssueActivity.objects.filter(field="priority"): + # Set the old and new value to none if it is empty for Priority + obj.new_value = obj.new_value or "none" + obj.old_value = obj.old_value or "none" + updated_issue_activity.append(obj) + IssueActivity.objects.bulk_update( + updated_issue_activity, + ["new_value", "old_value"], + batch_size=1000, + ) + +def update_issue_activity_blocked(apps, schema_editor): + IssueActivity = apps.get_model("db", "IssueActivity") + updated_issue_activity = [] + for obj in IssueActivity.objects.filter(field="blocks"): + # Set the field to blocked_by + obj.field = "blocked_by" + updated_issue_activity.append(obj) + IssueActivity.objects.bulk_update( + updated_issue_activity, + ["field"], + batch_size=1000, + ) + + + +class Migration(migrations.Migration): + + dependencies = [ + ('db', '0046_auto_20230926_1015'), + ] + + operations = [ + migrations.RunPython(update_issue_activity_priority), + migrations.RunPython(update_issue_activity_blocked), + ] From 41efd035418028746746b18b144aaa252bb8741a Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Tue, 26 Sep 2023 16:24:05 +0530 Subject: [PATCH 3/3] dev: changed the batch size --- apiserver/plane/db/migrations/0046_auto_20230926_1015.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apiserver/plane/db/migrations/0046_auto_20230926_1015.py b/apiserver/plane/db/migrations/0046_auto_20230926_1015.py index 90c758861df..8bce37d9534 100644 --- a/apiserver/plane/db/migrations/0046_auto_20230926_1015.py +++ b/apiserver/plane/db/migrations/0046_auto_20230926_1015.py @@ -12,7 +12,7 @@ def update_issue_activity(apps, schema_editor): IssueActivity.objects.bulk_update( updated_issue_activity, ["epoch"], - batch_size=2000, + batch_size=5000, ) class Migration(migrations.Migration):