diff --git a/twitch/migrations/0011_remove_timebaseddrop_drop_positive_minutes_and_more.py b/twitch/migrations/0011_remove_timebaseddrop_drop_positive_minutes_and_more.py new file mode 100644 index 0000000..ff323d4 --- /dev/null +++ b/twitch/migrations/0011_remove_timebaseddrop_drop_positive_minutes_and_more.py @@ -0,0 +1,21 @@ +# Generated by Django 5.2.5 on 2025-09-04 23:03 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('twitch', '0010_alter_dropbenefit_id_alter_game_id_and_more'), + ] + + operations = [ + migrations.RemoveConstraint( + model_name='timebaseddrop', + name='drop_positive_minutes', + ), + migrations.AddConstraint( + model_name='timebaseddrop', + constraint=models.CheckConstraint(condition=models.Q(('required_minutes_watched__isnull', True), ('required_minutes_watched__gte', 0), _connector='OR'), name='drop_positive_minutes'), + ), + ] diff --git a/twitch/models.py b/twitch/models.py index 38debb0..a85d1e4 100644 --- a/twitch/models.py +++ b/twitch/models.py @@ -424,9 +424,9 @@ class TimeBasedDrop(models.Model): condition=models.Q(start_at__isnull=True) | models.Q(end_at__isnull=True) | models.Q(end_at__gt=models.F("start_at")), name="drop_valid_date_range", ), - # Ensure required_minutes_watched is positive when set + # Ensure required_minutes_watched is non-negative when set models.CheckConstraint( - condition=models.Q(required_minutes_watched__isnull=True) | models.Q(required_minutes_watched__gt=0), name="drop_positive_minutes" + condition=models.Q(required_minutes_watched__isnull=True) | models.Q(required_minutes_watched__gte=0), name="drop_positive_minutes" ), ] indexes: ClassVar[list] = [