Merge branch 'fix-2457-favorita-table-migration' into 'develop'

Fix several 2.0-alpha1 migration issues

Closes #2457

See merge request funkwhale/funkwhale!2920
This commit is contained in:
Philipp Wolfer 2025-05-30 23:09:43 +02:00
commit 9d876b0bf0
4 changed files with 28 additions and 18 deletions

View File

@ -55,12 +55,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="trackfavorite",
name="fid",
field=models.URLField(
db_index=True,
default="https://default.fid",
max_length=500,
unique=True,
),
field=models.URLField(default="https://default.fid"),
preserve_default=False,
),
migrations.AddField(
@ -79,6 +74,15 @@ class Migration(migrations.Migration):
name="uuid",
field=models.UUIDField(default=uuid.uuid4, unique=True, null=False),
),
migrations.AlterField(
model_name="trackfavorite",
name="fid",
field=models.URLField(
db_index=True,
max_length=500,
unique=True,
),
),
migrations.RunPython(get_user_actor, reverse_code=migrations.RunPython.noop),
migrations.AlterField(
model_name="trackfavorite",

View File

@ -25,7 +25,7 @@ def gen_uuid(apps, schema_editor):
unique_uuid = uuid.uuid4()
fid = utils.full_url(
reverse("federation:music:playlist-detail", kwargs={"uuid": unique_uuid})
reverse("federation:music:playlists-detail", kwargs={"uuid": unique_uuid})
)
row.uuid = unique_uuid
row.fid = fid
@ -42,7 +42,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="playlist",
name="fid",
field=models.URLField(max_length=500 ),
field=models.URLField(max_length=500, null=True),
),
migrations.AddField(
model_name="playlist",
@ -63,8 +63,13 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="playlist",
name="fid",
field=models.URLField(max_length=500, unique=True, db_index=True,
),),
field=models.URLField(
max_length=500,
unique=True,
db_index=True,
null=False,
),
),
migrations.AddField(
model_name="playlist",
name="actor",

View File

@ -9,14 +9,14 @@ from funkwhale_api.federation import utils
from django.urls import reverse
def gen_uuid(apps, schema_editor):
MyModel = apps.get_model("playlists", "Playlist")
MyModel = apps.get_model("playlists", "PlaylistTrack")
for row in MyModel.objects.all():
unique_uuid = uuid.uuid4()
while MyModel.objects.filter(uuid=unique_uuid).exists():
unique_uuid = uuid.uuid4()
fid = utils.full_url(
reverse("federation:music:playlist-detail", kwargs={"uuid": unique_uuid})
reverse("federation:music:playlists-detail", kwargs={"uuid": unique_uuid})
)
row.uuid = unique_uuid
row.fid = fid
@ -38,8 +38,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="playlisttrack",
name="fid",
field=models.URLField(max_length=500
),
field=models.URLField(max_length=500, null=True),
),
migrations.AddField(
model_name="playlisttrack",
@ -47,8 +46,8 @@ class Migration(migrations.Migration):
field=models.URLField(blank=True, max_length=500, null=True),
),
migrations.RunPython(gen_uuid, reverse_code=migrations.RunPython.noop),
migrations.AlterField(
model_name="playlist",
migrations.AlterField(
model_name="playlisttrack",
name="uuid",
field=models.UUIDField(default=uuid.uuid4, null=False, unique=True),
),
@ -56,6 +55,7 @@ class Migration(migrations.Migration):
model_name="playlisttrack",
name="fid",
field=models.URLField(
db_index=True, max_length=500, unique=True
),),
db_index=True, max_length=500, unique=True, null=False
),
),
]

View File

@ -0,0 +1 @@
Fixed database migrations for trackfavorite, playlist and playlisttrack