From 0a475d1a02ce8350b97478467dea0414a7689cf2 Mon Sep 17 00:00:00 2001 From: ArneBo Date: Thu, 13 Feb 2025 21:38:24 +0100 Subject: [PATCH] fix(migrations): rebase on develop --- .../music/migrations/0058_uploadgroup.py | 32 ------ ...move_track_artist_artistcredit_and_more.py | 1 - .../migrations/0059_upload_upload_group.py | 23 ---- .../migrations/0060_auto_20240115_1055.py | 20 ---- ...060_remove_library_description_and_more.py | 21 ---- .../0061_alter_upload_upload_group.py | 22 ---- .../0061_migrate_libraries_to_playlist.py | 6 +- .../0062_alter_upload_upload_group.py | 23 ---- .../0062_upload_third_party_provider.py | 42 ------- .../migrations/0063_auto_20240122_1358.py | 31 ----- ..._upload_quality_0063_auto_20240122_1358.py | 13 --- .../migrations/0065_merge_20240911_1354.py | 12 -- ...066_remove_library_description_and_more.py | 21 ---- .../0067_migrate_libraries_to_playlist.py | 108 ------------------ 14 files changed, 4 insertions(+), 371 deletions(-) delete mode 100644 api/funkwhale_api/music/migrations/0058_uploadgroup.py delete mode 100644 api/funkwhale_api/music/migrations/0059_upload_upload_group.py delete mode 100644 api/funkwhale_api/music/migrations/0060_auto_20240115_1055.py delete mode 100644 api/funkwhale_api/music/migrations/0060_remove_library_description_and_more.py delete mode 100644 api/funkwhale_api/music/migrations/0061_alter_upload_upload_group.py delete mode 100644 api/funkwhale_api/music/migrations/0062_alter_upload_upload_group.py delete mode 100644 api/funkwhale_api/music/migrations/0062_upload_third_party_provider.py delete mode 100644 api/funkwhale_api/music/migrations/0063_auto_20240122_1358.py delete mode 100644 api/funkwhale_api/music/migrations/0064_merge_0058_upload_quality_0063_auto_20240122_1358.py delete mode 100644 api/funkwhale_api/music/migrations/0065_merge_20240911_1354.py delete mode 100644 api/funkwhale_api/music/migrations/0066_remove_library_description_and_more.py delete mode 100644 api/funkwhale_api/music/migrations/0067_migrate_libraries_to_playlist.py diff --git a/api/funkwhale_api/music/migrations/0058_uploadgroup.py b/api/funkwhale_api/music/migrations/0058_uploadgroup.py deleted file mode 100644 index 449415560..000000000 --- a/api/funkwhale_api/music/migrations/0058_uploadgroup.py +++ /dev/null @@ -1,32 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-11 14:34 - -import datetime -from django.db import migrations, models -import uuid - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0057_auto_20221118_2108"), - ] - - operations = [ - migrations.CreateModel( - name="UploadGroup", - fields=[ - ( - "name", - models.CharField(default=datetime.datetime.now, max_length=255), - ), - ( - "guid", - models.UUIDField( - default=uuid.uuid4, - editable=False, - primary_key=True, - serialize=False, - ), - ), - ], - ), - ] diff --git a/api/funkwhale_api/music/migrations/0059_remove_album_artist_remove_track_artist_artistcredit_and_more.py b/api/funkwhale_api/music/migrations/0059_remove_album_artist_remove_track_artist_artistcredit_and_more.py index b434d730d..7caaf58b0 100644 --- a/api/funkwhale_api/music/migrations/0059_remove_album_artist_remove_track_artist_artistcredit_and_more.py +++ b/api/funkwhale_api/music/migrations/0059_remove_album_artist_remove_track_artist_artistcredit_and_more.py @@ -36,7 +36,6 @@ def set_all_artists_credit(apps, schema_editor): class Migration(migrations.Migration): dependencies = [ ("music", "0058_upload_quality"), - ("playlists", "0008_playlist_library_drop"), ] operations = [ diff --git a/api/funkwhale_api/music/migrations/0059_upload_upload_group.py b/api/funkwhale_api/music/migrations/0059_upload_upload_group.py deleted file mode 100644 index c0910160e..000000000 --- a/api/funkwhale_api/music/migrations/0059_upload_upload_group.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-15 10:55 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0058_uploadgroup"), - ] - - operations = [ - migrations.AddField( - model_name="upload", - name="upload_group", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="uploads", - to="music.uploadgroup", - ), - ), - ] diff --git a/api/funkwhale_api/music/migrations/0060_auto_20240115_1055.py b/api/funkwhale_api/music/migrations/0060_auto_20240115_1055.py deleted file mode 100644 index 9043653ef..000000000 --- a/api/funkwhale_api/music/migrations/0060_auto_20240115_1055.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-15 10:55 - -from django.db import migrations - - -def populate_upload_groups(apps, schema_editor): - upload = apps.get_model("music", "Upload") - upload_group = apps.get_model("music", "UploadGroup") - for upload in upload.objects.all(): - group, _ = upload_group.objects.get_or_create(name=upload.import_reference) - upload.upload_group = group - upload.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0059_upload_upload_group"), - ] - - operations = [migrations.RunPython(populate_upload_groups)] diff --git a/api/funkwhale_api/music/migrations/0060_remove_library_description_and_more.py b/api/funkwhale_api/music/migrations/0060_remove_library_description_and_more.py deleted file mode 100644 index 6d14e152f..000000000 --- a/api/funkwhale_api/music/migrations/0060_remove_library_description_and_more.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.2.9 on 2025-01-03 20:43 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0059_remove_album_artist_remove_track_artist_artistcredit_and_more"), - ("playlists", "0007_alter_playlist_actor_alter_playlisttrack_uuid_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="library", - name="description", - ), - migrations.RemoveField( - model_name="library", - name="followers_url", - ), - ] diff --git a/api/funkwhale_api/music/migrations/0061_alter_upload_upload_group.py b/api/funkwhale_api/music/migrations/0061_alter_upload_upload_group.py deleted file mode 100644 index 78582b904..000000000 --- a/api/funkwhale_api/music/migrations/0061_alter_upload_upload_group.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-15 11:00 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0060_auto_20240115_1055"), - ] - - operations = [ - migrations.AlterField( - model_name="upload", - name="upload_group", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="uploads", - to="music.uploadgroup", - ), - ), - ] diff --git a/api/funkwhale_api/music/migrations/0061_migrate_libraries_to_playlist.py b/api/funkwhale_api/music/migrations/0061_migrate_libraries_to_playlist.py index 52be63931..5c857ddcd 100644 --- a/api/funkwhale_api/music/migrations/0061_migrate_libraries_to_playlist.py +++ b/api/funkwhale_api/music/migrations/0061_migrate_libraries_to_playlist.py @@ -46,6 +46,7 @@ def migrate_libraries_to_playlist(apps, schema_editor): actor=library.actor, creation_date=library.creation_date, privacy_level=library.privacy_level, + description=library.description, uuid=(new_uuid := uuid.uuid4()), fid=federation_utils.full_url( reverse( @@ -86,7 +87,7 @@ def migrate_libraries_to_playlist(apps, schema_editor): uuid=(new_uuid := uuid.uuid4()), fid=federation_utils.full_url( reverse( - f"federation:music:playlists-detail", + f"federation:music:libraries-detail", kwargs={"uuid": new_uuid}, ) ), @@ -99,7 +100,8 @@ def migrate_libraries_to_playlist(apps, schema_editor): class Migration(migrations.Migration): dependencies = [ - ("music", "0060_remove_library_description_and_more"), + ("music", "0060_empty_for_test"), + ("playlists", "0008_playlist_library_drop"), ] operations = [ migrations.RunPython( diff --git a/api/funkwhale_api/music/migrations/0062_alter_upload_upload_group.py b/api/funkwhale_api/music/migrations/0062_alter_upload_upload_group.py deleted file mode 100644 index c694c2a5e..000000000 --- a/api/funkwhale_api/music/migrations/0062_alter_upload_upload_group.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-22 13:10 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0061_alter_upload_upload_group"), - ] - - operations = [ - migrations.AlterField( - model_name="upload", - name="upload_group", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="uploads", - to="music.uploadgroup", - ), - ), - ] diff --git a/api/funkwhale_api/music/migrations/0062_upload_third_party_provider.py b/api/funkwhale_api/music/migrations/0062_upload_third_party_provider.py deleted file mode 100644 index 40499048d..000000000 --- a/api/funkwhale_api/music/migrations/0062_upload_third_party_provider.py +++ /dev/null @@ -1,42 +0,0 @@ -# Generated by Django 4.2.9 on 2024-12-21 20:02 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0061_migrate_libraries_to_playlist"), - ] - - operations = [ - migrations.AddField( - model_name="upload", - name="third_party_provider", - field=models.CharField(blank=True, max_length=100, null=True), - ), - migrations.AlterField( - model_name="uploadversion", - name="mimetype", - field=models.CharField( - choices=[ - ("audio/mp3", "mp3"), - ("audio/mpeg3", "mp3"), - ("audio/x-mp3", "mp3"), - ("audio/mpeg", "mp3"), - ("video/ogg", "ogg"), - ("audio/ogg", "ogg"), - ("audio/opus", "opus"), - ("audio/x-m4a", "aac"), - ("audio/x-m4a", "m4a"), - ("audio/m4a", "m4a"), - ("audio/x-flac", "flac"), - ("audio/flac", "flac"), - ("audio/aiff", "aif"), - ("audio/x-aiff", "aif"), - ("audio/aiff", "aiff"), - ("audio/x-aiff", "aiff"), - ], - max_length=50, - ), - ), - ] diff --git a/api/funkwhale_api/music/migrations/0063_auto_20240122_1358.py b/api/funkwhale_api/music/migrations/0063_auto_20240122_1358.py deleted file mode 100644 index dc79b44e0..000000000 --- a/api/funkwhale_api/music/migrations/0063_auto_20240122_1358.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 3.2.23 on 2024-01-22 13:58 - -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - dependencies = [ - ("federation", "0028_auto_20221027_1141"), - ("music", "0062_alter_upload_upload_group"), - ] - - operations = [ - migrations.AddField( - model_name="uploadgroup", - name="created_at", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.AddField( - model_name="uploadgroup", - name="owner", - field=models.ForeignKey( - default=1, - on_delete=django.db.models.deletion.CASCADE, - related_name="upload_groups", - to="federation.actor", - ), - preserve_default=False, - ), - ] diff --git a/api/funkwhale_api/music/migrations/0064_merge_0058_upload_quality_0063_auto_20240122_1358.py b/api/funkwhale_api/music/migrations/0064_merge_0058_upload_quality_0063_auto_20240122_1358.py deleted file mode 100644 index d2fbf9e4a..000000000 --- a/api/funkwhale_api/music/migrations/0064_merge_0058_upload_quality_0063_auto_20240122_1358.py +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by Django 4.2.9 on 2024-08-28 16:33 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("music", "0058_upload_quality"), - ("music", "0063_auto_20240122_1358"), - ] - - operations = [] diff --git a/api/funkwhale_api/music/migrations/0065_merge_20240911_1354.py b/api/funkwhale_api/music/migrations/0065_merge_20240911_1354.py deleted file mode 100644 index ff535e572..000000000 --- a/api/funkwhale_api/music/migrations/0065_merge_20240911_1354.py +++ /dev/null @@ -1,12 +0,0 @@ -# Generated by Django 4.2.9 on 2024-09-11 13:54 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0059_remove_album_artist_remove_track_artist_artistcredit_and_more"), - ("music", "0064_merge_0058_upload_quality_0063_auto_20240122_1358"), - ] - - operations = [] diff --git a/api/funkwhale_api/music/migrations/0066_remove_library_description_and_more.py b/api/funkwhale_api/music/migrations/0066_remove_library_description_and_more.py deleted file mode 100644 index f1e5b36b7..000000000 --- a/api/funkwhale_api/music/migrations/0066_remove_library_description_and_more.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.2.9 on 2025-01-03 20:43 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0065_merge_20240911_1354"), - ("playlists", "0007_alter_playlist_actor_alter_playlisttrack_uuid_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="library", - name="description", - ), - migrations.RemoveField( - model_name="library", - name="followers_url", - ), - ] diff --git a/api/funkwhale_api/music/migrations/0067_migrate_libraries_to_playlist.py b/api/funkwhale_api/music/migrations/0067_migrate_libraries_to_playlist.py deleted file mode 100644 index 63e026567..000000000 --- a/api/funkwhale_api/music/migrations/0067_migrate_libraries_to_playlist.py +++ /dev/null @@ -1,108 +0,0 @@ -# Generated by Django 4.2.9 on 2025-01-03 16:12 - -from django.db import migrations, models -from django.db import IntegrityError - -from funkwhale_api.federation import utils as federation_utils -from django.urls import reverse -import uuid - - -def insert_tracks_to_playlist(apps, playlist, uploads): - PlaylistTrack = apps.get_model("playlists", "PlaylistTrack") - plts = [ - PlaylistTrack( - creation_date=playlist.creation_date, - playlist=playlist, - track=upload.track, - index=0 + i, - uuid=(new_uuid := uuid.uuid4()), - fid=federation_utils.full_url( - reverse( - f"federation:music:playlists-detail", - kwargs={"uuid": new_uuid}, - ) - ), - ) - for i, upload in enumerate(uploads) - if upload.track - ] - - return PlaylistTrack.objects.bulk_create(plts) - - -def migrate_libraries_to_playlist(apps, schema_editor): - Playlist = apps.get_model("playlists", "Playlist") - Library = apps.get_model("music", "Library") - LibraryFollow = apps.get_model("federation", "LibraryFollow") - Follow = apps.get_model("federation", "Follow") - User = apps.get_model("users", "User") - Actor = apps.get_model("federation", "Actor") - - # library to playlist - for library in Library.objects.all(): - playlist = Playlist.objects.create( - name=library.name, - actor=library.actor, - creation_date=library.creation_date, - privacy_level=library.privacy_level, - uuid=(new_uuid := uuid.uuid4()), - fid=federation_utils.full_url( - reverse( - f"federation:music:playlists-detail", - kwargs={"uuid": new_uuid}, - ) - ), - ) - playlist.save() - - if library.uploads.all().exists(): - insert_tracks_to_playlist(apps, playlist, library.uploads.all()) - - # library follows to user follow - for lib_follow in LibraryFollow.objects.filter(target=library): - try: - Follow.objects.create( - uuid=lib_follow.uuid, - target=library.actor, - actor=lib_follow.actor, - approved=lib_follow.approved, - creation_date=lib_follow.creation_date, - modification_date=lib_follow.modification_date, - ) - except IntegrityError: - pass - - LibraryFollow.objects.all().delete() - - # migrate uploads to new library - for actor in Actor.objects.all(): - privacy_levels = ["me", "instance", "everyone"] - for privacy_level in privacy_levels: - build_in_lib = Library.objects.create( - actor=actor, - privacy_level=privacy_level, - name=privacy_level, - uuid=(new_uuid := uuid.uuid4()), - fid=federation_utils.full_url( - reverse( - f"federation:music:playlists-detail", - kwargs={"uuid": new_uuid}, - ) - ), - ) - for library in actor.libraries.filter(privacy_level=privacy_level): - library.uploads.all().update(library=build_in_lib) - if library.pk is not build_in_lib.pk: - library.delete() - - -class Migration(migrations.Migration): - dependencies = [ - ("music", "0066_remove_library_description_and_more"), - ] - operations = [ - migrations.RunPython( - migrate_libraries_to_playlist, reverse_code=migrations.RunPython.noop - ), - ]