From 2116cfc2195ac2b844d182534842867dd5e24420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Wed, 29 Jan 2025 22:28:00 +0100 Subject: [PATCH] Remove migrations --- games/migrations/0001_initial.py | 149 +++++++++--------- .../0002_alter_session_duration_manual.py | 22 --- ..._alter_session_duration_manual_and_more.py | 23 --- .../0004_alter_session_duration_manual.py | 22 --- games/migrations/0005_auto_20230109_1843.py | 35 ---- games/migrations/0006_auto_20230109_1904.py | 35 ---- ...e_game_alter_purchase_platform_and_more.py | 35 ---- games/migrations/0008_edition.py | 41 ----- games/migrations/0009_create_editions.py | 34 ---- games/migrations/0010_alter_purchase_game.py | 21 --- .../0011_rename_game_purchase_edition.py | 18 --- ..._purchase_price_purchase_price_currency.py | 23 --- .../0013_purchase_ownership_type.py | 31 ---- .../migrations/0014_device_session_device.py | 52 ------ ..._edition_wikidata_edition_year_released.py | 23 --- ...rm_alter_edition_year_released_and_more.py | 51 ------ ...hed_0022_rename_year_game_year_released.py | 141 ----------------- ...ter_device_type_alter_purchase_platform.py | 41 ----- games/migrations/0018_auto_20231106_1825.py | 34 ---- .../0019_alter_edition_unique_together.py | 17 -- games/migrations/0020_game_year.py | 18 --- games/migrations/0021_auto_20231106_1909.py | 24 --- .../0022_rename_year_game_year_released.py | 18 --- .../migrations/0023_purchase_date_finished.py | 21 --- games/migrations/0024_edition_sort_name.py | 39 ----- games/migrations/0025_game_sort_name.py | 39 ----- games/migrations/0026_purchase_type.py | 27 ---- .../0027_purchase_related_purchase.py | 25 --- games/migrations/0028_purchase_name.py | 26 --- .../0029_alter_purchase_related_purchase.py | 26 --- games/migrations/0030_alter_purchase_name.py | 18 --- ...ion_created_at_game_created_at_and_more.py | 44 ------ ...on_options_session_modified_at_and_more.py | 52 ------ .../0033_alter_edition_unique_together.py | 17 -- ...purchase_date_dropped_purchase_infinite.py | 23 --- games/migrations/0035_alter_session_device.py | 25 --- .../migrations/0036_alter_edition_platform.py | 19 --- games/migrations/0037_platform_icon.py | 26 --- games/migrations/0038_alter_purchase_price.py | 18 --- games/migrations/0039_alter_device_type.py | 18 --- games/migrations/0040_migrate_device_types.py | 33 ---- ...rency_purchase_converted_price_and_more.py | 36 ----- .../migrations/0042_purchase_editions_temp.py | 18 --- games/migrations/0043_auto_20250107_2117.py | 27 ---- games/migrations/0044_auto_20250107_2132.py | 18 --- .../0045_alter_purchase_editions.py | 18 --- games/migrations/0046_session_emulated.py | 18 --- games/migrations/0047_alter_edition_game.py | 19 --- games/migrations/0048_game_platform.py | 61 ------- .../0049_alter_game_unique_together.py | 17 -- games/migrations/0050_session_game.py | 35 ---- games/migrations/0051_purchase_games.py | 29 ---- .../0052_remove_purchase_editions.py | 17 -- games/migrations/0053_delete_edition.py | 16 -- .../0054_remove_session_purchase.py | 17 -- 55 files changed, 76 insertions(+), 1674 deletions(-) delete mode 100644 games/migrations/0002_alter_session_duration_manual.py delete mode 100644 games/migrations/0003_alter_session_duration_manual_and_more.py delete mode 100644 games/migrations/0004_alter_session_duration_manual.py delete mode 100644 games/migrations/0005_auto_20230109_1843.py delete mode 100644 games/migrations/0006_auto_20230109_1904.py delete mode 100644 games/migrations/0007_alter_purchase_game_alter_purchase_platform_and_more.py delete mode 100644 games/migrations/0008_edition.py delete mode 100644 games/migrations/0009_create_editions.py delete mode 100644 games/migrations/0010_alter_purchase_game.py delete mode 100644 games/migrations/0011_rename_game_purchase_edition.py delete mode 100644 games/migrations/0012_purchase_price_purchase_price_currency.py delete mode 100644 games/migrations/0013_purchase_ownership_type.py delete mode 100644 games/migrations/0014_device_session_device.py delete mode 100644 games/migrations/0015_edition_wikidata_edition_year_released.py delete mode 100644 games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more.py delete mode 100644 games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more_squashed_0022_rename_year_game_year_released.py delete mode 100644 games/migrations/0017_alter_device_type_alter_purchase_platform.py delete mode 100644 games/migrations/0018_auto_20231106_1825.py delete mode 100644 games/migrations/0019_alter_edition_unique_together.py delete mode 100644 games/migrations/0020_game_year.py delete mode 100644 games/migrations/0021_auto_20231106_1909.py delete mode 100644 games/migrations/0022_rename_year_game_year_released.py delete mode 100644 games/migrations/0023_purchase_date_finished.py delete mode 100644 games/migrations/0024_edition_sort_name.py delete mode 100644 games/migrations/0025_game_sort_name.py delete mode 100644 games/migrations/0026_purchase_type.py delete mode 100644 games/migrations/0027_purchase_related_purchase.py delete mode 100644 games/migrations/0028_purchase_name.py delete mode 100644 games/migrations/0029_alter_purchase_related_purchase.py delete mode 100644 games/migrations/0030_alter_purchase_name.py delete mode 100644 games/migrations/0031_device_created_at_edition_created_at_game_created_at_and_more.py delete mode 100644 games/migrations/0032_alter_session_options_session_modified_at_and_more.py delete mode 100644 games/migrations/0033_alter_edition_unique_together.py delete mode 100644 games/migrations/0034_purchase_date_dropped_purchase_infinite.py delete mode 100644 games/migrations/0035_alter_session_device.py delete mode 100644 games/migrations/0036_alter_edition_platform.py delete mode 100644 games/migrations/0037_platform_icon.py delete mode 100644 games/migrations/0038_alter_purchase_price.py delete mode 100644 games/migrations/0039_alter_device_type.py delete mode 100644 games/migrations/0040_migrate_device_types.py delete mode 100644 games/migrations/0041_purchase_converted_currency_purchase_converted_price_and_more.py delete mode 100644 games/migrations/0042_purchase_editions_temp.py delete mode 100644 games/migrations/0043_auto_20250107_2117.py delete mode 100644 games/migrations/0044_auto_20250107_2132.py delete mode 100644 games/migrations/0045_alter_purchase_editions.py delete mode 100644 games/migrations/0046_session_emulated.py delete mode 100644 games/migrations/0047_alter_edition_game.py delete mode 100644 games/migrations/0048_game_platform.py delete mode 100644 games/migrations/0049_alter_game_unique_together.py delete mode 100644 games/migrations/0050_session_game.py delete mode 100644 games/migrations/0051_purchase_games.py delete mode 100644 games/migrations/0052_remove_purchase_editions.py delete mode 100644 games/migrations/0053_delete_edition.py delete mode 100644 games/migrations/0054_remove_session_purchase.py diff --git a/games/migrations/0001_initial.py b/games/migrations/0001_initial.py index 2272418..c5d95d6 100644 --- a/games/migrations/0001_initial.py +++ b/games/migrations/0001_initial.py @@ -1,5 +1,6 @@ -# Generated by Django 4.1.4 on 2023-01-02 18:27 +# Generated by Django 5.1.5 on 2025-01-29 21:26 +import datetime import django.db.models.deletion from django.db import migrations, models @@ -8,94 +9,96 @@ class Migration(migrations.Migration): initial = True - dependencies = [] + dependencies = [ + ] operations = [ migrations.CreateModel( - name="Game", + name='Device', fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ("wikidata", models.CharField(max_length=50)), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('type', models.CharField(choices=[('PC', 'PC'), ('Console', 'Console'), ('Handheld', 'Handheld'), ('Mobile', 'Mobile'), ('Single-board computer', 'Single-board computer'), ('Unknown', 'Unknown')], default='Unknown', max_length=255)), + ('created_at', models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( - name="Platform", + name='Platform', fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ("group", models.CharField(max_length=255)), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('group', models.CharField(blank=True, default=None, max_length=255, null=True)), + ('icon', models.SlugField(blank=True)), + ('created_at', models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( - name="Purchase", + name='ExchangeRate', fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("date_purchased", models.DateField()), - ("date_refunded", models.DateField(blank=True, null=True)), - ( - "game", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="games.game" - ), - ), - ( - "platform", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="games.platform", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('currency_from', models.CharField(max_length=255)), + ('currency_to', models.CharField(max_length=255)), + ('year', models.PositiveIntegerField()), + ('rate', models.FloatField()), + ], + options={ + 'unique_together': {('currency_from', 'currency_to', 'year')}, + }, + ), + migrations.CreateModel( + name='Game', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('sort_name', models.CharField(blank=True, default=None, max_length=255, null=True)), + ('year_released', models.IntegerField(blank=True, default=None, null=True)), + ('wikidata', models.CharField(blank=True, default=None, max_length=50, null=True)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('platform', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='games.platform')), + ], + options={ + 'unique_together': {('name', 'platform', 'year_released')}, + }, + ), + migrations.CreateModel( + name='Purchase', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_purchased', models.DateField()), + ('date_refunded', models.DateField(blank=True, null=True)), + ('date_finished', models.DateField(blank=True, null=True)), + ('date_dropped', models.DateField(blank=True, null=True)), + ('infinite', models.BooleanField(default=False)), + ('price', models.FloatField(default=0)), + ('price_currency', models.CharField(default='USD', max_length=3)), + ('converted_price', models.FloatField(null=True)), + ('converted_currency', models.CharField(max_length=3, null=True)), + ('ownership_type', models.CharField(choices=[('ph', 'Physical'), ('di', 'Digital'), ('du', 'Digital Upgrade'), ('re', 'Rented'), ('bo', 'Borrowed'), ('tr', 'Trial'), ('de', 'Demo'), ('pi', 'Pirated')], default='di', max_length=2)), + ('type', models.CharField(choices=[('game', 'Game'), ('dlc', 'DLC'), ('season_pass', 'Season Pass'), ('battle_pass', 'Battle Pass')], default='game', max_length=255)), + ('name', models.CharField(blank=True, default='', max_length=255, null=True)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('games', models.ManyToManyField(blank=True, related_name='purchases', to='games.game')), + ('platform', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='games.platform')), + ('related_purchase', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='related_purchases', to='games.purchase')), ], ), migrations.CreateModel( - name="Session", + name='Session', fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("timestamp_start", models.DateTimeField()), - ("timestamp_end", models.DateTimeField()), - ("duration_manual", models.DurationField(blank=True, null=True)), - ("duration_calculated", models.DurationField(blank=True, null=True)), - ("note", models.TextField(blank=True, null=True)), - ( - "purchase", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="games.purchase", - ), - ), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('timestamp_start', models.DateTimeField()), + ('timestamp_end', models.DateTimeField(blank=True, null=True)), + ('duration_manual', models.DurationField(blank=True, default=datetime.timedelta(0), null=True)), + ('duration_calculated', models.DurationField(blank=True, null=True)), + ('note', models.TextField(blank=True, null=True)), + ('emulated', models.BooleanField(default=False)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('modified_at', models.DateTimeField(auto_now=True)), + ('device', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='games.device')), + ('game', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sessions', to='games.game')), ], + options={ + 'get_latest_by': 'timestamp_start', + }, ), ] diff --git a/games/migrations/0002_alter_session_duration_manual.py b/games/migrations/0002_alter_session_duration_manual.py deleted file mode 100644 index 7666aea..0000000 --- a/games/migrations/0002_alter_session_duration_manual.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.1.4 on 2023-01-02 18:55 - -import datetime - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0001_initial"), - ] - - operations = [ - migrations.AlterField( - model_name="session", - name="duration_manual", - field=models.DurationField( - blank=True, default=datetime.timedelta(0), null=True - ), - ), - ] diff --git a/games/migrations/0003_alter_session_duration_manual_and_more.py b/games/migrations/0003_alter_session_duration_manual_and_more.py deleted file mode 100644 index 04790ea..0000000 --- a/games/migrations/0003_alter_session_duration_manual_and_more.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.1.4 on 2023-01-02 23:11 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0002_alter_session_duration_manual"), - ] - - operations = [ - migrations.AlterField( - model_name="session", - name="duration_manual", - field=models.DurationField(blank=True, null=True), - ), - migrations.AlterField( - model_name="session", - name="timestamp_end", - field=models.DateTimeField(blank=True, null=True), - ), - ] diff --git a/games/migrations/0004_alter_session_duration_manual.py b/games/migrations/0004_alter_session_duration_manual.py deleted file mode 100644 index ed11f80..0000000 --- a/games/migrations/0004_alter_session_duration_manual.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.1.5 on 2023-01-09 14:49 - -import datetime - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0003_alter_session_duration_manual_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="session", - name="duration_manual", - field=models.DurationField( - blank=True, default=datetime.timedelta(0), null=True - ), - ), - ] diff --git a/games/migrations/0005_auto_20230109_1843.py b/games/migrations/0005_auto_20230109_1843.py deleted file mode 100644 index 83ff301..0000000 --- a/games/migrations/0005_auto_20230109_1843.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 4.1.5 on 2023-01-09 17:43 - -from datetime import timedelta - -from django.db import migrations - - -def set_duration_calculated_none_to_zero(apps, schema_editor): - Session = apps.get_model("games", "Session") - for session in Session.objects.all(): - if session.duration_calculated == None: - session.duration_calculated = timedelta(0) - session.save() - - -def revert_set_duration_calculated_none_to_zero(apps, schema_editor): - Session = apps.get_model("games", "Session") - for session in Session.objects.all(): - if session.duration_calculated == timedelta(0): - session.duration_calculated = None - session.save() - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0004_alter_session_duration_manual"), - ] - - operations = [ - migrations.RunPython( - set_duration_calculated_none_to_zero, - revert_set_duration_calculated_none_to_zero, - ) - ] diff --git a/games/migrations/0006_auto_20230109_1904.py b/games/migrations/0006_auto_20230109_1904.py deleted file mode 100644 index 846d320..0000000 --- a/games/migrations/0006_auto_20230109_1904.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 4.1.5 on 2023-01-09 18:04 - -from datetime import timedelta - -from django.db import migrations - - -def set_duration_manual_none_to_zero(apps, schema_editor): - Session = apps.get_model("games", "Session") - for session in Session.objects.all(): - if session.duration_manual == None: - session.duration_manual = timedelta(0) - session.save() - - -def revert_set_duration_manual_none_to_zero(apps, schema_editor): - Session = apps.get_model("games", "Session") - for session in Session.objects.all(): - if session.duration_manual == timedelta(0): - session.duration_manual = None - session.save() - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0005_auto_20230109_1843"), - ] - - operations = [ - migrations.RunPython( - set_duration_manual_none_to_zero, - revert_set_duration_manual_none_to_zero, - ) - ] diff --git a/games/migrations/0007_alter_purchase_game_alter_purchase_platform_and_more.py b/games/migrations/0007_alter_purchase_game_alter_purchase_platform_and_more.py deleted file mode 100644 index 81fd411..0000000 --- a/games/migrations/0007_alter_purchase_game_alter_purchase_platform_and_more.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 4.1.5 on 2023-01-19 18:30 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0006_auto_20230109_1904"), - ] - - operations = [ - migrations.AlterField( - model_name="purchase", - name="game", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="games.game" - ), - ), - migrations.AlterField( - model_name="purchase", - name="platform", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="games.platform" - ), - ), - migrations.AlterField( - model_name="session", - name="purchase", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="games.purchase" - ), - ), - ] diff --git a/games/migrations/0008_edition.py b/games/migrations/0008_edition.py deleted file mode 100644 index f5255e4..0000000 --- a/games/migrations/0008_edition.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-18 16:29 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0007_alter_purchase_game_alter_purchase_platform_and_more"), - ] - - operations = [ - migrations.CreateModel( - name="Edition", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ( - "game", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="games.game" - ), - ), - ( - "platform", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="games.platform" - ), - ), - ], - ), - ] diff --git a/games/migrations/0009_create_editions.py b/games/migrations/0009_create_editions.py deleted file mode 100644 index 662485c..0000000 --- a/games/migrations/0009_create_editions.py +++ /dev/null @@ -1,34 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-18 18:51 - -from django.db import migrations - - -def create_edition_of_game(apps, schema_editor): - Game = apps.get_model("games", "Game") - Edition = apps.get_model("games", "Edition") - Platform = apps.get_model("games", "Platform") - first_platform = Platform.objects.first() - all_games = Game.objects.all() - all_editions = Edition.objects.all() - for game in all_games: - existing_edition = None - try: - existing_edition = all_editions.objects.get(game=game.id) - except: - pass - if existing_edition == None: - edition = Edition() - edition.id = game.id - edition.game = game - edition.name = game.name - edition.platform = first_platform - edition.save() - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0008_edition"), - ] - - operations = [migrations.RunPython(create_edition_of_game)] diff --git a/games/migrations/0010_alter_purchase_game.py b/games/migrations/0010_alter_purchase_game.py deleted file mode 100644 index 7fe367b..0000000 --- a/games/migrations/0010_alter_purchase_game.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-18 19:06 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0009_create_editions"), - ] - - operations = [ - migrations.AlterField( - model_name="purchase", - name="game", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="games.edition" - ), - ), - ] diff --git a/games/migrations/0011_rename_game_purchase_edition.py b/games/migrations/0011_rename_game_purchase_edition.py deleted file mode 100644 index 741ea74..0000000 --- a/games/migrations/0011_rename_game_purchase_edition.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-18 19:18 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0010_alter_purchase_game"), - ] - - operations = [ - migrations.RenameField( - model_name="purchase", - old_name="game", - new_name="edition", - ), - ] diff --git a/games/migrations/0012_purchase_price_purchase_price_currency.py b/games/migrations/0012_purchase_price_purchase_price_currency.py deleted file mode 100644 index 6124f25..0000000 --- a/games/migrations/0012_purchase_price_purchase_price_currency.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-18 19:53 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0011_rename_game_purchase_edition"), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="price", - field=models.IntegerField(default=0), - ), - migrations.AddField( - model_name="purchase", - name="price_currency", - field=models.CharField(default="USD", max_length=3), - ), - ] diff --git a/games/migrations/0013_purchase_ownership_type.py b/games/migrations/0013_purchase_ownership_type.py deleted file mode 100644 index 02a3a23..0000000 --- a/games/migrations/0013_purchase_ownership_type.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-18 19:54 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0012_purchase_price_purchase_price_currency"), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="ownership_type", - field=models.CharField( - choices=[ - ("ph", "Physical"), - ("di", "Digital"), - ("du", "Digital Upgrade"), - ("re", "Rented"), - ("bo", "Borrowed"), - ("tr", "Trial"), - ("de", "Demo"), - ("pi", "Pirated"), - ], - default="di", - max_length=2, - ), - ), - ] diff --git a/games/migrations/0014_device_session_device.py b/games/migrations/0014_device_session_device.py deleted file mode 100644 index dd1dba8..0000000 --- a/games/migrations/0014_device_session_device.py +++ /dev/null @@ -1,52 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-18 19:59 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0013_purchase_ownership_type"), - ] - - operations = [ - migrations.CreateModel( - name="Device", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ( - "type", - models.CharField( - choices=[ - ("pc", "PC"), - ("co", "Console"), - ("ha", "Handheld"), - ("mo", "Mobile"), - ("sbc", "Single-board computer"), - ], - default="pc", - max_length=3, - ), - ), - ], - ), - migrations.AddField( - model_name="session", - name="device", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="games.device", - ), - ), - ] diff --git a/games/migrations/0015_edition_wikidata_edition_year_released.py b/games/migrations/0015_edition_wikidata_edition_year_released.py deleted file mode 100644 index 8b89f94..0000000 --- a/games/migrations/0015_edition_wikidata_edition_year_released.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.1.5 on 2023-02-20 14:55 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0014_device_session_device"), - ] - - operations = [ - migrations.AddField( - model_name="edition", - name="wikidata", - field=models.CharField(blank=True, default=None, max_length=50, null=True), - ), - migrations.AddField( - model_name="edition", - name="year_released", - field=models.IntegerField(default=2023), - ), - ] diff --git a/games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more.py b/games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more.py deleted file mode 100644 index f624b8a..0000000 --- a/games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more.py +++ /dev/null @@ -1,51 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 11:10 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0015_edition_wikidata_edition_year_released"), - ] - - operations = [ - migrations.AlterField( - model_name="edition", - name="platform", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="games.platform", - ), - ), - migrations.AlterField( - model_name="edition", - name="year_released", - field=models.IntegerField(blank=True, default=None, null=True), - ), - migrations.AlterField( - model_name="game", - name="wikidata", - field=models.CharField(blank=True, default=None, max_length=50, null=True), - ), - migrations.AlterField( - model_name="platform", - name="group", - field=models.CharField(blank=True, default=None, max_length=255, null=True), - ), - migrations.AlterField( - model_name="session", - name="device", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="games.device", - ), - ), - ] diff --git a/games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more_squashed_0022_rename_year_game_year_released.py b/games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more_squashed_0022_rename_year_game_year_released.py deleted file mode 100644 index 521ce5b..0000000 --- a/games/migrations/0016_alter_edition_platform_alter_edition_year_released_and_more_squashed_0022_rename_year_game_year_released.py +++ /dev/null @@ -1,141 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 18:14 - -import django.db.models.deletion -from django.db import migrations, models - - -def rename_duplicates(apps, schema_editor): - Edition = apps.get_model("games", "Edition") - - duplicates = ( - Edition.objects.values("name", "platform") - .annotate(name_count=models.Count("id")) - .filter(name_count__gt=1) - ) - - for duplicate in duplicates: - counter = 1 - duplicate_editions = Edition.objects.filter( - name=duplicate["name"], platform_id=duplicate["platform"] - ).order_by("id") - - for edition in duplicate_editions[1:]: # Skip the first one - edition.name = f"{edition.name} {counter}" - edition.save() - counter += 1 - - -def update_game_year(apps, schema_editor): - Game = apps.get_model("games", "Game") - Edition = apps.get_model("games", "Edition") - - for game in Game.objects.filter(year__isnull=True): - # Try to get the first related edition with a non-null year_released - edition = Edition.objects.filter(game=game, year_released__isnull=False).first() - if edition: - # If an edition is found, update the game's year - game.year = edition.year_released - game.save() - - -class Migration(migrations.Migration): - replaces = [ - ("games", "0016_alter_edition_platform_alter_edition_year_released_and_more"), - ("games", "0017_alter_device_type_alter_purchase_platform"), - ("games", "0018_auto_20231106_1825"), - ("games", "0019_alter_edition_unique_together"), - ("games", "0020_game_year"), - ("games", "0021_auto_20231106_1909"), - ("games", "0022_rename_year_game_year_released"), - ] - - dependencies = [ - ("games", "0015_edition_wikidata_edition_year_released"), - ] - - operations = [ - migrations.AlterField( - model_name="edition", - name="platform", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="games.platform", - ), - ), - migrations.AlterField( - model_name="edition", - name="year_released", - field=models.IntegerField(blank=True, default=None, null=True), - ), - migrations.AlterField( - model_name="game", - name="wikidata", - field=models.CharField(blank=True, default=None, max_length=50, null=True), - ), - migrations.AlterField( - model_name="platform", - name="group", - field=models.CharField(blank=True, default=None, max_length=255, null=True), - ), - migrations.AlterField( - model_name="session", - name="device", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="games.device", - ), - ), - migrations.AlterField( - model_name="device", - name="type", - field=models.CharField( - choices=[ - ("pc", "PC"), - ("co", "Console"), - ("ha", "Handheld"), - ("mo", "Mobile"), - ("sbc", "Single-board computer"), - ("un", "Unknown"), - ], - default="un", - max_length=3, - ), - ), - migrations.AlterField( - model_name="purchase", - name="platform", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="games.platform", - ), - ), - migrations.RunPython( - code=rename_duplicates, - ), - migrations.AlterUniqueTogether( - name="edition", - unique_together={("name", "platform")}, - ), - migrations.AddField( - model_name="game", - name="year", - field=models.IntegerField(blank=True, default=None, null=True), - ), - migrations.RunPython( - code=update_game_year, - ), - migrations.RenameField( - model_name="game", - old_name="year", - new_name="year_released", - ), - ] diff --git a/games/migrations/0017_alter_device_type_alter_purchase_platform.py b/games/migrations/0017_alter_device_type_alter_purchase_platform.py deleted file mode 100644 index c760a0c..0000000 --- a/games/migrations/0017_alter_device_type_alter_purchase_platform.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 16:53 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0016_alter_edition_platform_alter_edition_year_released_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="device", - name="type", - field=models.CharField( - choices=[ - ("pc", "PC"), - ("co", "Console"), - ("ha", "Handheld"), - ("mo", "Mobile"), - ("sbc", "Single-board computer"), - ("un", "Unknown"), - ], - default="un", - max_length=3, - ), - ), - migrations.AlterField( - model_name="purchase", - name="platform", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="games.platform", - ), - ), - ] diff --git a/games/migrations/0018_auto_20231106_1825.py b/games/migrations/0018_auto_20231106_1825.py deleted file mode 100644 index b7eb3b1..0000000 --- a/games/migrations/0018_auto_20231106_1825.py +++ /dev/null @@ -1,34 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 17:25 - -from django.db import migrations, models - - -def rename_duplicates(apps, schema_editor): - Edition = apps.get_model("games", "Edition") - - duplicates = ( - Edition.objects.values("name", "platform") - .annotate(name_count=models.Count("id")) - .filter(name_count__gt=1) - ) - - for duplicate in duplicates: - counter = 1 - duplicate_editions = Edition.objects.filter( - name=duplicate["name"], platform_id=duplicate["platform"] - ).order_by("id") - - for edition in duplicate_editions[1:]: # Skip the first one - edition.name = f"{edition.name} {counter}" - edition.save() - counter += 1 - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0017_alter_device_type_alter_purchase_platform"), - ] - - operations = [ - migrations.RunPython(rename_duplicates), - ] diff --git a/games/migrations/0019_alter_edition_unique_together.py b/games/migrations/0019_alter_edition_unique_together.py deleted file mode 100644 index c946406..0000000 --- a/games/migrations/0019_alter_edition_unique_together.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 17:26 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0018_auto_20231106_1825"), - ] - - operations = [ - migrations.AlterUniqueTogether( - name="edition", - unique_together={("name", "platform")}, - ), - ] diff --git a/games/migrations/0020_game_year.py b/games/migrations/0020_game_year.py deleted file mode 100644 index 7ea19f3..0000000 --- a/games/migrations/0020_game_year.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 18:05 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0019_alter_edition_unique_together"), - ] - - operations = [ - migrations.AddField( - model_name="game", - name="year", - field=models.IntegerField(blank=True, default=None, null=True), - ), - ] diff --git a/games/migrations/0021_auto_20231106_1909.py b/games/migrations/0021_auto_20231106_1909.py deleted file mode 100644 index 96898a6..0000000 --- a/games/migrations/0021_auto_20231106_1909.py +++ /dev/null @@ -1,24 +0,0 @@ -from django.db import migrations - - -def update_game_year(apps, schema_editor): - Game = apps.get_model("games", "Game") - Edition = apps.get_model("games", "Edition") - - for game in Game.objects.filter(year__isnull=True): - # Try to get the first related edition with a non-null year_released - edition = Edition.objects.filter(game=game, year_released__isnull=False).first() - if edition: - # If an edition is found, update the game's year - game.year = edition.year_released - game.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0020_game_year"), - ] - - operations = [ - migrations.RunPython(update_game_year), - ] diff --git a/games/migrations/0022_rename_year_game_year_released.py b/games/migrations/0022_rename_year_game_year_released.py deleted file mode 100644 index 3cc93b5..0000000 --- a/games/migrations/0022_rename_year_game_year_released.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 18:12 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0021_auto_20231106_1909"), - ] - - operations = [ - migrations.RenameField( - model_name="game", - old_name="year", - new_name="year_released", - ), - ] diff --git a/games/migrations/0023_purchase_date_finished.py b/games/migrations/0023_purchase_date_finished.py deleted file mode 100644 index 63d8cfa..0000000 --- a/games/migrations/0023_purchase_date_finished.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-06 18:24 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ( - "games", - "0016_alter_edition_platform_alter_edition_year_released_and_more_squashed_0022_rename_year_game_year_released", - ), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="date_finished", - field=models.DateField(blank=True, null=True), - ), - ] diff --git a/games/migrations/0024_edition_sort_name.py b/games/migrations/0024_edition_sort_name.py deleted file mode 100644 index 5a7b980..0000000 --- a/games/migrations/0024_edition_sort_name.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-09 09:32 - -from django.db import migrations, models - - -def create_sort_name(apps, schema_editor): - Edition = apps.get_model( - "games", "Edition" - ) # Replace 'your_app_name' with the actual name of your app - - for edition in Edition.objects.all(): - name = edition.name - # Check for articles at the beginning of the name and move them to the end - if name.lower().startswith("the "): - sort_name = f"{name[4:]}, The" - elif name.lower().startswith("a "): - sort_name = f"{name[2:]}, A" - elif name.lower().startswith("an "): - sort_name = f"{name[3:]}, An" - else: - sort_name = name - # Save the sort_name back to the database - edition.sort_name = sort_name - edition.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0023_purchase_date_finished"), - ] - - operations = [ - migrations.AddField( - model_name="edition", - name="sort_name", - field=models.CharField(blank=True, default=None, max_length=255, null=True), - ), - migrations.RunPython(create_sort_name), - ] diff --git a/games/migrations/0025_game_sort_name.py b/games/migrations/0025_game_sort_name.py deleted file mode 100644 index bae6d24..0000000 --- a/games/migrations/0025_game_sort_name.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-09 09:32 - -from django.db import migrations, models - - -def create_sort_name(apps, schema_editor): - Game = apps.get_model( - "games", "Game" - ) # Replace 'your_app_name' with the actual name of your app - - for game in Game.objects.all(): - name = game.name - # Check for articles at the beginning of the name and move them to the end - if name.lower().startswith("the "): - sort_name = f"{name[4:]}, The" - elif name.lower().startswith("a "): - sort_name = f"{name[2:]}, A" - elif name.lower().startswith("an "): - sort_name = f"{name[3:]}, An" - else: - sort_name = name - # Save the sort_name back to the database - game.sort_name = sort_name - game.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0024_edition_sort_name"), - ] - - operations = [ - migrations.AddField( - model_name="game", - name="sort_name", - field=models.CharField(blank=True, default=None, max_length=255, null=True), - ), - migrations.RunPython(create_sort_name), - ] diff --git a/games/migrations/0026_purchase_type.py b/games/migrations/0026_purchase_type.py deleted file mode 100644 index 002054b..0000000 --- a/games/migrations/0026_purchase_type.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-14 08:35 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0025_game_sort_name"), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="type", - field=models.CharField( - choices=[ - ("game", "Game"), - ("dlc", "DLC"), - ("season_pass", "Season Pass"), - ("battle_pass", "Battle Pass"), - ], - default="game", - max_length=255, - ), - ), - ] diff --git a/games/migrations/0027_purchase_related_purchase.py b/games/migrations/0027_purchase_related_purchase.py deleted file mode 100644 index 06e7072..0000000 --- a/games/migrations/0027_purchase_related_purchase.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-14 08:41 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0026_purchase_type"), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="related_purchase", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="games.purchase", - ), - ), - ] diff --git a/games/migrations/0028_purchase_name.py b/games/migrations/0028_purchase_name.py deleted file mode 100644 index e2c390c..0000000 --- a/games/migrations/0028_purchase_name.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-14 11:05 - -from django.db import migrations, models - -from games.models import Purchase - - -def null_game_name(apps, schema_editor): - Purchase.objects.filter(type=Purchase.GAME).update(name=None) - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0027_purchase_related_purchase"), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="name", - field=models.CharField( - blank=True, default="Unknown Name", max_length=255, null=True - ), - ), - migrations.RunPython(null_game_name), - ] diff --git a/games/migrations/0029_alter_purchase_related_purchase.py b/games/migrations/0029_alter_purchase_related_purchase.py deleted file mode 100644 index f71dee1..0000000 --- a/games/migrations/0029_alter_purchase_related_purchase.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-14 21:19 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0028_purchase_name"), - ] - - operations = [ - migrations.AlterField( - model_name="purchase", - name="related_purchase", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="related_purchases", - to="games.purchase", - ), - ), - ] diff --git a/games/migrations/0030_alter_purchase_name.py b/games/migrations/0030_alter_purchase_name.py deleted file mode 100644 index 25f96e5..0000000 --- a/games/migrations/0030_alter_purchase_name.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-15 12:04 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0029_alter_purchase_related_purchase"), - ] - - operations = [ - migrations.AlterField( - model_name="purchase", - name="name", - field=models.CharField(blank=True, default="", max_length=255, null=True), - ), - ] diff --git a/games/migrations/0031_device_created_at_edition_created_at_game_created_at_and_more.py b/games/migrations/0031_device_created_at_edition_created_at_game_created_at_and_more.py deleted file mode 100644 index cdc4148..0000000 --- a/games/migrations/0031_device_created_at_edition_created_at_game_created_at_and_more.py +++ /dev/null @@ -1,44 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-15 13:51 - -import django.utils.timezone -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0030_alter_purchase_name"), - ] - - operations = [ - migrations.AddField( - model_name="device", - name="created_at", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.AddField( - model_name="edition", - name="created_at", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.AddField( - model_name="game", - name="created_at", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.AddField( - model_name="platform", - name="created_at", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.AddField( - model_name="purchase", - name="created_at", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.AddField( - model_name="session", - name="created_at", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - ] diff --git a/games/migrations/0032_alter_session_options_session_modified_at_and_more.py b/games/migrations/0032_alter_session_options_session_modified_at_and_more.py deleted file mode 100644 index cd94d0a..0000000 --- a/games/migrations/0032_alter_session_options_session_modified_at_and_more.py +++ /dev/null @@ -1,52 +0,0 @@ -# Generated by Django 4.1.5 on 2023-11-15 18:02 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0031_device_created_at_edition_created_at_game_created_at_and_more"), - ] - - operations = [ - migrations.AlterModelOptions( - name="session", - options={"get_latest_by": "timestamp_start"}, - ), - migrations.AddField( - model_name="session", - name="modified_at", - field=models.DateTimeField(auto_now=True), - ), - migrations.AlterField( - model_name="device", - name="created_at", - field=models.DateTimeField(auto_now_add=True), - ), - migrations.AlterField( - model_name="edition", - name="created_at", - field=models.DateTimeField(auto_now_add=True), - ), - migrations.AlterField( - model_name="game", - name="created_at", - field=models.DateTimeField(auto_now_add=True), - ), - migrations.AlterField( - model_name="platform", - name="created_at", - field=models.DateTimeField(auto_now_add=True), - ), - migrations.AlterField( - model_name="purchase", - name="created_at", - field=models.DateTimeField(auto_now_add=True), - ), - migrations.AlterField( - model_name="session", - name="created_at", - field=models.DateTimeField(auto_now_add=True), - ), - ] diff --git a/games/migrations/0033_alter_edition_unique_together.py b/games/migrations/0033_alter_edition_unique_together.py deleted file mode 100644 index 5565cba..0000000 --- a/games/migrations/0033_alter_edition_unique_together.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.2.7 on 2023-11-28 13:43 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0032_alter_session_options_session_modified_at_and_more"), - ] - - operations = [ - migrations.AlterUniqueTogether( - name="edition", - unique_together={("name", "platform", "year_released")}, - ), - ] diff --git a/games/migrations/0034_purchase_date_dropped_purchase_infinite.py b/games/migrations/0034_purchase_date_dropped_purchase_infinite.py deleted file mode 100644 index 8ac5087..0000000 --- a/games/migrations/0034_purchase_date_dropped_purchase_infinite.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.2.7 on 2024-01-03 21:27 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0033_alter_edition_unique_together"), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="date_dropped", - field=models.DateField(blank=True, null=True), - ), - migrations.AddField( - model_name="purchase", - name="infinite", - field=models.BooleanField(default=False), - ), - ] diff --git a/games/migrations/0035_alter_session_device.py b/games/migrations/0035_alter_session_device.py deleted file mode 100644 index 2f02601..0000000 --- a/games/migrations/0035_alter_session_device.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 5.1 on 2024-08-11 15:50 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("games", "0034_purchase_date_dropped_purchase_infinite"), - ] - - operations = [ - migrations.AlterField( - model_name="session", - name="device", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.SET_DEFAULT, - to="games.device", - ), - ), - ] diff --git a/games/migrations/0036_alter_edition_platform.py b/games/migrations/0036_alter_edition_platform.py deleted file mode 100644 index e101e0e..0000000 --- a/games/migrations/0036_alter_edition_platform.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 5.1 on 2024-08-11 16:48 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0035_alter_session_device'), - ] - - operations = [ - migrations.AlterField( - model_name='edition', - name='platform', - field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='games.platform'), - ), - ] diff --git a/games/migrations/0037_platform_icon.py b/games/migrations/0037_platform_icon.py deleted file mode 100644 index 7b174df..0000000 --- a/games/migrations/0037_platform_icon.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 5.1.1 on 2024-09-14 07:05 - -from django.db import migrations, models -from django.utils.text import slugify - - -def update_empty_icons(apps, schema_editor): - Platform = apps.get_model("games", "Platform") - for platform in Platform.objects.filter(icon=""): - platform.icon = slugify(platform.name) - platform.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0036_alter_edition_platform"), - ] - - operations = [ - migrations.AddField( - model_name="platform", - name="icon", - field=models.SlugField(blank=True), - ), - migrations.RunPython(update_empty_icons), - ] diff --git a/games/migrations/0038_alter_purchase_price.py b/games/migrations/0038_alter_purchase_price.py deleted file mode 100644 index 1c6f382..0000000 --- a/games/migrations/0038_alter_purchase_price.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 5.1.1 on 2024-10-04 09:23 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0037_platform_icon'), - ] - - operations = [ - migrations.AlterField( - model_name='purchase', - name='price', - field=models.FloatField(default=0), - ), - ] diff --git a/games/migrations/0039_alter_device_type.py b/games/migrations/0039_alter_device_type.py deleted file mode 100644 index 0016ffb..0000000 --- a/games/migrations/0039_alter_device_type.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 5.1.2 on 2024-11-09 22:38 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0038_alter_purchase_price'), - ] - - operations = [ - migrations.AlterField( - model_name='device', - name='type', - field=models.CharField(choices=[('PC', 'PC'), ('Console', 'Console'), ('Handheld', 'Handheld'), ('Mobile', 'Mobile'), ('Single-board computer', 'Single-board computer'), ('Unknown', 'Unknown')], default='Unknown', max_length=255), - ), - ] diff --git a/games/migrations/0040_migrate_device_types.py b/games/migrations/0040_migrate_device_types.py deleted file mode 100644 index 37a5667..0000000 --- a/games/migrations/0040_migrate_device_types.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 5.1.2 on 2024-11-09 22:39 - -from django.db import migrations - - -def update_device_types(apps, schema_editor): - Device = apps.get_model("games", "Device") - - # Mapping of short names to long names - type_map = { - "pc": "PC", - "co": "Console", - "ha": "Handheld", - "mo": "Mobile", - "sbc": "Single-board computer", - "un": "Unknown", - } - - # Loop through all devices and update the type field - for device in Device.objects.all(): - if device.type in type_map: - device.type = type_map[device.type] - device.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0039_alter_device_type"), - ] - - operations = [ - migrations.RunPython(update_device_types), - ] diff --git a/games/migrations/0041_purchase_converted_currency_purchase_converted_price_and_more.py b/games/migrations/0041_purchase_converted_currency_purchase_converted_price_and_more.py deleted file mode 100644 index 22f1c23..0000000 --- a/games/migrations/0041_purchase_converted_currency_purchase_converted_price_and_more.py +++ /dev/null @@ -1,36 +0,0 @@ -# Generated by Django 5.1.3 on 2024-11-10 15:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0040_migrate_device_types'), - ] - - operations = [ - migrations.AddField( - model_name='purchase', - name='converted_currency', - field=models.CharField(max_length=3, null=True), - ), - migrations.AddField( - model_name='purchase', - name='converted_price', - field=models.FloatField(null=True), - ), - migrations.CreateModel( - name='ExchangeRate', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('currency_from', models.CharField(max_length=255)), - ('currency_to', models.CharField(max_length=255)), - ('year', models.PositiveIntegerField()), - ('rate', models.FloatField()), - ], - options={ - 'unique_together': {('currency_from', 'currency_to', 'year')}, - }, - ), - ] diff --git a/games/migrations/0042_purchase_editions_temp.py b/games/migrations/0042_purchase_editions_temp.py deleted file mode 100644 index 6e6221c..0000000 --- a/games/migrations/0042_purchase_editions_temp.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 5.1.3 on 2025-01-07 20:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0041_purchase_converted_currency_purchase_converted_price_and_more'), - ] - - operations = [ - migrations.AddField( - model_name='purchase', - name='editions_temp', - field=models.ManyToManyField(blank=True, related_name='temp_purchases', to='games.edition'), - ), - ] diff --git a/games/migrations/0043_auto_20250107_2117.py b/games/migrations/0043_auto_20250107_2117.py deleted file mode 100644 index 5884030..0000000 --- a/games/migrations/0043_auto_20250107_2117.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 5.1.3 on 2025-01-07 20:17 - -from django.db import migrations - - -def migrate_edition_to_editions_temp(apps, schema_editor): - Purchase = apps.get_model("games", "Purchase") - for purchase in Purchase.objects.all(): - if purchase.edition: - print( - f"Migrating Purchase {purchase.id} with Edition {purchase.edition.id}" - ) - purchase.editions_temp.add(purchase.edition) - print(purchase.editions_temp.all()) - purchase.save() - else: - print(f"No edition found for Purchase {purchase.id}") - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0042_purchase_editions_temp"), - ] - - operations = [ - migrations.RunPython(migrate_edition_to_editions_temp), - ] diff --git a/games/migrations/0044_auto_20250107_2132.py b/games/migrations/0044_auto_20250107_2132.py deleted file mode 100644 index 67a28a0..0000000 --- a/games/migrations/0044_auto_20250107_2132.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 5.1.3 on 2025-01-07 20:32 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0043_auto_20250107_2117"), - ] - - operations = [ - migrations.RemoveField(model_name="purchase", name="edition"), - migrations.RenameField( - model_name="purchase", - old_name="editions_temp", - new_name="editions", - ), - ] diff --git a/games/migrations/0045_alter_purchase_editions.py b/games/migrations/0045_alter_purchase_editions.py deleted file mode 100644 index e62212c..0000000 --- a/games/migrations/0045_alter_purchase_editions.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 5.1.3 on 2025-01-07 20:37 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0044_auto_20250107_2132'), - ] - - operations = [ - migrations.AlterField( - model_name='purchase', - name='editions', - field=models.ManyToManyField(blank=True, related_name='purchases', to='games.edition'), - ), - ] diff --git a/games/migrations/0046_session_emulated.py b/games/migrations/0046_session_emulated.py deleted file mode 100644 index 65217db..0000000 --- a/games/migrations/0046_session_emulated.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 5.1.3 on 2025-01-29 11:49 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0045_alter_purchase_editions'), - ] - - operations = [ - migrations.AddField( - model_name='session', - name='emulated', - field=models.BooleanField(default=False), - ), - ] diff --git a/games/migrations/0047_alter_edition_game.py b/games/migrations/0047_alter_edition_game.py deleted file mode 100644 index c11a519..0000000 --- a/games/migrations/0047_alter_edition_game.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 17:01 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0046_session_emulated'), - ] - - operations = [ - migrations.AlterField( - model_name='edition', - name='game', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='editions', to='games.game'), - ), - ] diff --git a/games/migrations/0048_game_platform.py b/games/migrations/0048_game_platform.py deleted file mode 100644 index 3e83cf0..0000000 --- a/games/migrations/0048_game_platform.py +++ /dev/null @@ -1,61 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 17:08 - -import django.db.models.deletion -from django.db import migrations, models - -from games.models import Game - - -def copy_platform_to_game(apps, schema_editor): - single_edition_games = Game.objects.annotate( - num_editions=models.Count("editions") - ).filter(num_editions=1) - multi_edition_games = Game.objects.annotate( - num_editions=models.Count("editions") - ).filter(num_editions__gt=1) - for game in single_edition_games: - game.platform = game.editions.first().platform - game.save() - - for game in multi_edition_games: - all_editions = game.editions.all() - for e in all_editions: - # game with this platform edition already exists - if game.platform == e.platform: - print( - f"Game '{game}' with ID '{game.pk}' already has edition with platform '{game.platform}', skipping creation." - ) - else: - print( - f"Game '{game}' with ID '{game.pk}' missing edition with platform '{e.platform}', creating..." - ) - newgame = Game.objects.create( - name=e.name, - sort_name=e.sort_name, - platform=e.platform, - year_released=e.year_released, - ) - print(f"Setting edition to a newly created game with id '{newgame.pk}'") - e.game = newgame - e.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0047_alter_edition_game"), - ] - - operations = [ - migrations.AddField( - model_name="game", - name="platform", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.SET_DEFAULT, - to="games.platform", - ), - ), - migrations.RunPython(copy_platform_to_game), - ] diff --git a/games/migrations/0049_alter_game_unique_together.py b/games/migrations/0049_alter_game_unique_together.py deleted file mode 100644 index 93c7a96..0000000 --- a/games/migrations/0049_alter_game_unique_together.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 17:34 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0048_game_platform'), - ] - - operations = [ - migrations.AlterUniqueTogether( - name='game', - unique_together={('name', 'platform', 'year_released')}, - ), - ] diff --git a/games/migrations/0050_session_game.py b/games/migrations/0050_session_game.py deleted file mode 100644 index c920355..0000000 --- a/games/migrations/0050_session_game.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 17:48 - -import django.db.models.deletion -from django.db import migrations, models - -from games.models import Session - - -def connect_session_to_game(apps, schema_editor): - for session in Session.objects.all(): - game = session.purchase.first_edition.game - session.game = game - session.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0049_alter_game_unique_together"), - ] - - operations = [ - migrations.AddField( - model_name="session", - name="game", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="sessions", - to="games.game", - ), - ), - migrations.RunPython(connect_session_to_game), - ] diff --git a/games/migrations/0051_purchase_games.py b/games/migrations/0051_purchase_games.py deleted file mode 100644 index e0a7123..0000000 --- a/games/migrations/0051_purchase_games.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 18:03 - -from django.db import migrations, models - -from games.models import Purchase - - -def connect_purchase_to_game(apps, schema_editor): - for purchase in Purchase.objects.all(): - game = purchase.first_edition.game - purchase.games.add(game) - purchase.save() - - -class Migration(migrations.Migration): - dependencies = [ - ("games", "0050_session_game"), - ] - - operations = [ - migrations.AddField( - model_name="purchase", - name="games", - field=models.ManyToManyField( - blank=True, related_name="purchases", to="games.game" - ), - ), - migrations.RunPython(connect_purchase_to_game), - ] diff --git a/games/migrations/0052_remove_purchase_editions.py b/games/migrations/0052_remove_purchase_editions.py deleted file mode 100644 index 4f0e4f4..0000000 --- a/games/migrations/0052_remove_purchase_editions.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 18:20 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0051_purchase_games'), - ] - - operations = [ - migrations.RemoveField( - model_name='purchase', - name='editions', - ), - ] diff --git a/games/migrations/0053_delete_edition.py b/games/migrations/0053_delete_edition.py deleted file mode 100644 index edec298..0000000 --- a/games/migrations/0053_delete_edition.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 19:21 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0052_remove_purchase_editions'), - ] - - operations = [ - migrations.DeleteModel( - name='Edition', - ), - ] diff --git a/games/migrations/0054_remove_session_purchase.py b/games/migrations/0054_remove_session_purchase.py deleted file mode 100644 index 0f4f639..0000000 --- a/games/migrations/0054_remove_session_purchase.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 5.1.5 on 2025-01-29 19:21 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('games', '0053_delete_edition'), - ] - - operations = [ - migrations.RemoveField( - model_name='session', - name='purchase', - ), - ]