chore: replace datalayer ids with uuids

This commit is contained in:
Alexis Métaireau 2024-02-19 19:07:43 +01:00
parent d5b1821117
commit 6b7efda37a
2 changed files with 36 additions and 1 deletions

View file

@ -0,0 +1,34 @@
# Generated by Django 4.2.8 on 2024-02-19 17:40
import uuid
from django.db import migrations, models
def gen_uuid(apps, schema_editor):
DataLayer = apps.get_model("umap", "DataLayer")
for row in DataLayer.objects.all():
row.uuid = uuid.uuid4()
row.save(update_fields=["uuid"])
class Migration(migrations.Migration):
dependencies = [
("umap", "0017_migrate_to_openstreetmap_oauth2"),
]
operations = [
migrations.AddField(
model_name="datalayer",
name="uuid",
field=models.UUIDField(default=uuid.uuid4, editable=False, null=True),
),
migrations.RunPython(gen_uuid, reverse_code=migrations.RunPython.noop),
migrations.AlterField("datalayer", name="id", field=models.CharField(max_length=100)),
migrations.AlterField(
model_name="datalayer",
name="uuid",
field=models.UUIDField(default=uuid.uuid4, editable=False, unique=True, primary_key=True),
),
]

View file

@ -1,6 +1,7 @@
import json
import os
import time
import uuid
from django.conf import settings
from django.contrib.auth.models import User
@ -373,7 +374,7 @@ class DataLayer(NamedModel):
(EDITORS, _("Editors only")),
(OWNER, _("Owner only")),
)
uuid = models.UUIDField(unique=True, default=uuid.uuid4, editable=False)
map = models.ForeignKey(Map, on_delete=models.CASCADE)
description = models.TextField(blank=True, null=True, verbose_name=_("description"))
geojson = models.FileField(upload_to=upload_to, blank=True, null=True)