chore: Rename datalayer id to old_id
This commit is contained in:
parent
f82897f202
commit
1b41ff0ddc
4 changed files with 13 additions and 7 deletions
|
@ -9,7 +9,7 @@ BEGIN
|
||||||
EXECUTE 'ALTER TABLE umap_datalayer DROP CONSTRAINT ' || (
|
EXECUTE 'ALTER TABLE umap_datalayer DROP CONSTRAINT ' || (
|
||||||
SELECT indexname
|
SELECT indexname
|
||||||
FROM pg_indexes
|
FROM pg_indexes
|
||||||
WHERE tablename = 'umap_datalayer' AND indexname LIKE '%pk'
|
WHERE tablename = 'umap_datalayer' AND indexname LIKE '%pk%'
|
||||||
);
|
);
|
||||||
END $$;
|
END $$;
|
||||||
"""
|
"""
|
||||||
|
@ -40,6 +40,10 @@ class Migration(migrations.Migration):
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
"datalayer", name="id", field=models.IntegerField(null=True, blank=True)
|
"datalayer", name="id", field=models.IntegerField(null=True, blank=True)
|
||||||
),
|
),
|
||||||
|
# Rename "id" to "old id"
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="datalayer", old_name="id", new_name="old_id"
|
||||||
|
),
|
||||||
# … to put it back on the "uuid"
|
# … to put it back on the "uuid"
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name="datalayer",
|
model_name="datalayer",
|
||||||
|
@ -52,5 +56,7 @@ class Migration(migrations.Migration):
|
||||||
serialize=False,
|
serialize=False,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
# When applying the migration backwards, we need to drop the pk index
|
||||||
|
# Before addding a new one.
|
||||||
migrations.RunSQL(migrations.RunSQL.noop, reverse_sql=drop_index),
|
migrations.RunSQL(migrations.RunSQL.noop, reverse_sql=drop_index),
|
||||||
]
|
]
|
||||||
|
|
|
@ -27,7 +27,7 @@ def migrate_datalayers(apps, schema_editor):
|
||||||
remote_id = match.group("datalayer_id")
|
remote_id = match.group("datalayer_id")
|
||||||
map_id = match.group("map_id")
|
map_id = match.group("map_id")
|
||||||
try:
|
try:
|
||||||
remote_uuid = DataLayer.objects.get(id=remote_id).uuid
|
remote_uuid = DataLayer.objects.get(old_id=remote_id).uuid
|
||||||
except DataLayer.DoesNotExist:
|
except DataLayer.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -377,7 +377,7 @@ class DataLayer(NamedModel):
|
||||||
uuid = models.UUIDField(
|
uuid = models.UUIDField(
|
||||||
unique=True, primary_key=True, default=uuid.uuid4, editable=False
|
unique=True, primary_key=True, default=uuid.uuid4, editable=False
|
||||||
)
|
)
|
||||||
id = models.IntegerField(null=True, blank=True)
|
old_id = models.IntegerField(null=True, blank=True)
|
||||||
map = models.ForeignKey(Map, on_delete=models.CASCADE)
|
map = models.ForeignKey(Map, on_delete=models.CASCADE)
|
||||||
description = models.TextField(blank=True, null=True, verbose_name=_("description"))
|
description = models.TextField(blank=True, null=True, verbose_name=_("description"))
|
||||||
geojson = models.FileField(upload_to=upload_to, blank=True, null=True)
|
geojson = models.FileField(upload_to=upload_to, blank=True, null=True)
|
||||||
|
@ -450,8 +450,8 @@ class DataLayer(NamedModel):
|
||||||
|
|
||||||
def is_valid_version(self, name):
|
def is_valid_version(self, name):
|
||||||
valid_prefixes = [name.startswith("%s_" % self.pk)]
|
valid_prefixes = [name.startswith("%s_" % self.pk)]
|
||||||
if self.id:
|
if self.old_id:
|
||||||
valid_prefixes.append(name.startswith("%s_" % self.id))
|
valid_prefixes.append(name.startswith("%s_" % self.old_id))
|
||||||
return any(valid_prefixes) and name.endswith(".geojson")
|
return any(valid_prefixes) and name.endswith(".geojson")
|
||||||
|
|
||||||
def version_metadata(self, name):
|
def version_metadata(self, name):
|
||||||
|
|
|
@ -229,7 +229,7 @@ def test_versions_can_return_old_format(client, datalayer, map, settings):
|
||||||
map.share_status = Map.PUBLIC
|
map.share_status = Map.PUBLIC
|
||||||
map.save()
|
map.save()
|
||||||
root = datalayer.storage_root()
|
root = datalayer.storage_root()
|
||||||
datalayer.id = 123 # old datalayer id (now replaced by uuid)
|
datalayer.old_id = 123 # old datalayer id (now replaced by uuid)
|
||||||
datalayer.save()
|
datalayer.save()
|
||||||
|
|
||||||
datalayer.geojson.storage.save(
|
datalayer.geojson.storage.save(
|
||||||
|
@ -240,7 +240,7 @@ def test_versions_can_return_old_format(client, datalayer, map, settings):
|
||||||
)
|
)
|
||||||
|
|
||||||
# store with the id prefix (rather than the uuid)
|
# store with the id prefix (rather than the uuid)
|
||||||
old_format_version = "%s_1440918637.geojson" % datalayer.id
|
old_format_version = "%s_1440918637.geojson" % datalayer.old_id
|
||||||
datalayer.geojson.storage.save(
|
datalayer.geojson.storage.save(
|
||||||
("%s/" % root) + old_format_version, ContentFile("{}")
|
("%s/" % root) + old_format_version, ContentFile("{}")
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue