forked from github/plane
dev: migration for 0.13 (#2266)
* dev: updated migrations * dev: migration for 0.13
This commit is contained in:
parent
88a35efa06
commit
52b57b1e37
@ -26,19 +26,19 @@ def workspace_member_props(old_props):
|
|||||||
"calendar_date_range": old_props.get("calendarDateRange", ""),
|
"calendar_date_range": old_props.get("calendarDateRange", ""),
|
||||||
},
|
},
|
||||||
"display_properties": {
|
"display_properties": {
|
||||||
"assignee": old_props.get("properties", {}).get("assignee",None),
|
"assignee": old_props.get("properties", {}).get("assignee", True),
|
||||||
"attachment_count": old_props.get("properties", {}).get("attachment_count", None),
|
"attachment_count": old_props.get("properties", {}).get("attachment_count", True),
|
||||||
"created_on": old_props.get("properties", {}).get("created_on", None),
|
"created_on": old_props.get("properties", {}).get("created_on", True),
|
||||||
"due_date": old_props.get("properties", {}).get("due_date", None),
|
"due_date": old_props.get("properties", {}).get("due_date", True),
|
||||||
"estimate": old_props.get("properties", {}).get("estimate", None),
|
"estimate": old_props.get("properties", {}).get("estimate", True),
|
||||||
"key": old_props.get("properties", {}).get("key", None),
|
"key": old_props.get("properties", {}).get("key", True),
|
||||||
"labels": old_props.get("properties", {}).get("labels", None),
|
"labels": old_props.get("properties", {}).get("labels", True),
|
||||||
"link": old_props.get("properties", {}).get("link", None),
|
"link": old_props.get("properties", {}).get("link", True),
|
||||||
"priority": old_props.get("properties", {}).get("priority", None),
|
"priority": old_props.get("properties", {}).get("priority", True),
|
||||||
"start_date": old_props.get("properties", {}).get("start_date", None),
|
"start_date": old_props.get("properties", {}).get("start_date", True),
|
||||||
"state": old_props.get("properties", {}).get("state", None),
|
"state": old_props.get("properties", {}).get("state", True),
|
||||||
"sub_issue_count": old_props.get("properties", {}).get("sub_issue_count", None),
|
"sub_issue_count": old_props.get("properties", {}).get("sub_issue_count", True),
|
||||||
"updated_on": old_props.get("properties", {}).get("updated_on", None),
|
"updated_on": old_props.get("properties", {}).get("updated_on", True),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return new_props
|
return new_props
|
||||||
|
@ -1,24 +1,66 @@
|
|||||||
# Generated by Django 4.2.3 on 2023-09-15 06:55
|
# Generated by Django 4.2.3 on 2023-09-15 06:55
|
||||||
|
|
||||||
from django.db import migrations
|
from django.db import migrations, models
|
||||||
|
from django.conf import settings
|
||||||
|
import django.db.models.deletion
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
|
||||||
def update_issue_activity(apps, schema_editor):
|
def update_issue_activity(apps, schema_editor):
|
||||||
IssueActivityModel = apps.get_model("db", "IssueActivity")
|
IssueActivity = apps.get_model("db", "IssueActivity")
|
||||||
updated_issue_activity = []
|
updated_issue_activity = []
|
||||||
for obj in IssueActivityModel.objects.all():
|
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":
|
if obj.field == "blocks":
|
||||||
obj.field = "blocked_by"
|
obj.field = "blocked_by"
|
||||||
|
|
||||||
updated_issue_activity.append(obj)
|
updated_issue_activity.append(obj)
|
||||||
IssueActivityModel.objects.bulk_update(updated_issue_activity, ["field"], batch_size=100)
|
IssueActivity.objects.bulk_update(
|
||||||
|
updated_issue_activity,
|
||||||
|
["epoch", "field", "new_value", "old_value"],
|
||||||
|
batch_size=100,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('db', '0044_auto_20230913_0709'),
|
("db", "0044_auto_20230913_0709"),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="GlobalView",
|
||||||
|
fields=[
|
||||||
|
("created_at", models.DateTimeField(auto_now_add=True, verbose_name="Created At"),),
|
||||||
|
("updated_at", models.DateTimeField(auto_now=True, verbose_name="Last Modified At"),),
|
||||||
|
("id", models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True,),),
|
||||||
|
("name", models.CharField(max_length=255, verbose_name="View Name")),
|
||||||
|
("description", models.TextField(blank=True, verbose_name="View Description"),),
|
||||||
|
("query", models.JSONField(verbose_name="View Query")),
|
||||||
|
("access", models.PositiveSmallIntegerField(choices=[(0, "Private"), (1, "Public")], default=1),),
|
||||||
|
("query_data", models.JSONField(default=dict)),
|
||||||
|
("created_by", models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="%(class)s_created_by", to=settings.AUTH_USER_MODEL, verbose_name="Created By",),),
|
||||||
|
("updated_by", models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="%(class)s_updated_by", to=settings.AUTH_USER_MODEL, verbose_name="Last Modified By",),),
|
||||||
|
("workspace", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="global_views", to="db.workspace",),),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
"verbose_name": "Global View",
|
||||||
|
"verbose_name_plural": "Global Views",
|
||||||
|
"db_table": "global_views",
|
||||||
|
"ordering": ("-created_at",),
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="issueactivity",
|
||||||
|
name="epoch",
|
||||||
|
field=models.FloatField(null=True),
|
||||||
|
),
|
||||||
migrations.RunPython(update_issue_activity),
|
migrations.RunPython(update_issue_activity),
|
||||||
]
|
]
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
# Generated by Django 4.2.3 on 2023-09-19 14:21
|
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
import uuid
|
|
||||||
|
|
||||||
|
|
||||||
def update_epoch(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())
|
|
||||||
updated_issue_activity.append(obj)
|
|
||||||
IssueActivity.objects.bulk_update(updated_issue_activity, ["epoch"], batch_size=100)
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('db', '0045_auto_20230915_0655'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='GlobalView',
|
|
||||||
fields=[
|
|
||||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
|
|
||||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Last Modified At')),
|
|
||||||
('id', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
|
||||||
('name', models.CharField(max_length=255, verbose_name='View Name')),
|
|
||||||
('description', models.TextField(blank=True, verbose_name='View Description')),
|
|
||||||
('query', models.JSONField(verbose_name='View Query')),
|
|
||||||
('access', models.PositiveSmallIntegerField(choices=[(0, 'Private'), (1, 'Public')], default=1)),
|
|
||||||
('query_data', models.JSONField(default=dict)),
|
|
||||||
('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_created_by', to=settings.AUTH_USER_MODEL, verbose_name='Created By')),
|
|
||||||
('updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_updated_by', to=settings.AUTH_USER_MODEL, verbose_name='Last Modified By')),
|
|
||||||
('workspace', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='global_views', to='db.workspace')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'verbose_name': 'Global View',
|
|
||||||
'verbose_name_plural': 'Global Views',
|
|
||||||
'db_table': 'global_views',
|
|
||||||
'ordering': ('-created_at',),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='issueactivity',
|
|
||||||
name='epoch',
|
|
||||||
field=models.FloatField(null=True),
|
|
||||||
),
|
|
||||||
migrations.RunPython(update_epoch),
|
|
||||||
]
|
|
@ -1,27 +0,0 @@
|
|||||||
# Generated by Django 4.2.3 on 2023-09-21 07:58
|
|
||||||
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
def update_priority_history(apps, schema_editor):
|
|
||||||
IssueActivity = apps.get_model("db", "IssueActivity")
|
|
||||||
updated_issue_activity = []
|
|
||||||
for obj in IssueActivity.objects.all():
|
|
||||||
if obj.field == "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=100
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
dependencies = [
|
|
||||||
("db", "0046_auto_20230919_1421"),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.RunPython(update_priority_history),
|
|
||||||
]
|
|
Loading…
Reference in New Issue
Block a user