Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix database migrations #246

Merged
merged 4 commits into from
May 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.1 on 2017-11-01 15:53
from __future__ import absolute_import, unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('django_celery_beat', '0004_auto_20170221_0000'),
]

operations = [
migrations.AlterField(
model_name='solarschedule',
name='event',
field=models.CharField(choices=[
('dawn_astronomical', 'dawn_astronomical'),
('dawn_civil', 'dawn_civil'),
('dawn_nautical', 'dawn_nautical'),
('dusk_astronomical', 'dusk_astronomical'),
('dusk_civil', 'dusk_civil'),
('dusk_nautical', 'dusk_nautical'),
('solar_noon', 'solar_noon'),
('sunrise', 'sunrise'),
('sunset', 'sunset')
],
max_length=24, verbose_name='event'),
),
]

This file was deleted.

32 changes: 32 additions & 0 deletions django_celery_beat/migrations/0006_auto_20180210_1226.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Generated by Django 2.0.1 on 2018-02-10 12:26
from __future__ import absolute_import, unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('django_celery_beat', '0005_add_solarschedule_events_choices'),
]

operations = [
migrations.AlterField(
model_name='crontabschedule',
name='day_of_month',
field=models.CharField(default='*', max_length=124,
verbose_name='day of month'),
),
migrations.AlterField(
model_name='crontabschedule',
name='hour',
field=models.CharField(default='*', max_length=96,
verbose_name='hour'),
),
migrations.AlterField(
model_name='crontabschedule',
name='minute',
field=models.CharField(default='*', max_length=240,
verbose_name='minute'),
),
]
54 changes: 54 additions & 0 deletions django_celery_beat/migrations/0006_auto_20180322_0932.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2018-03-22 16:32
from __future__ import absolute_import, unicode_literals

from django.db import migrations, models
import timezone_field.fields


class Migration(migrations.Migration):

dependencies = [
('django_celery_beat', '0005_add_solarschedule_events_choices'),
# ('django_celery_beat', '0006_auto_20180210_1226'),
]

operations = [
migrations.AlterModelOptions(
name='crontabschedule',
options={
'ordering': [
'month_of_year', 'day_of_month',
'day_of_week', 'hour', 'minute', 'timezone'
],
'verbose_name': 'crontab',
'verbose_name_plural': 'crontabs'
},
),
migrations.AddField(
model_name='crontabschedule',
name='timezone',
field=timezone_field.fields.TimeZoneField(default='UTC'),
),
migrations.AlterField(
model_name='crontabschedule',
name='day_of_month',
field=models.CharField(
default='*', max_length=124, verbose_name='day of month'
),
),
migrations.AlterField(
model_name='crontabschedule',
name='hour',
field=models.CharField(
default='*', max_length=96, verbose_name='hour'
),
),
migrations.AlterField(
model_name='crontabschedule',
name='minute',
field=models.CharField(
default='*', max_length=240, verbose_name='minute'
),
),
]
8 changes: 7 additions & 1 deletion django_celery_beat/migrations/0006_periodictask_priority.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@

class Migration(migrations.Migration):
dependencies = [
('django_celery_beat', '0005_add_solarschedule_events_choices_squashed_0009_merge_20181012_1416'), # noqa
# depends on higher numbers due to a squashed migration
# that was later removed due to migration issues it caused
('django_celery_beat', '0005_add_solarschedule_events_choices'),
('django_celery_beat', '0006_auto_20180210_1226'),
('django_celery_beat', '0006_auto_20180322_0932'),
('django_celery_beat', '0007_auto_20180521_0826'),
('django_celery_beat', '0008_auto_20180914_1922'),
moseb marked this conversation as resolved.
Show resolved Hide resolved
]

operations = [
Expand Down
28 changes: 28 additions & 0 deletions django_celery_beat/migrations/0007_auto_20180521_0826.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2018-05-21 08:26
from __future__ import absolute_import, unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('django_celery_beat', '0006_auto_20180322_0932'),
]

operations = [
migrations.AddField(
model_name='periodictask',
name='one_off',
field=models.BooleanField(default=False,
verbose_name='one-off task'),
),
migrations.AddField(
model_name='periodictask',
name='start_time',
field=models.DateTimeField(blank=True,
null=True,
verbose_name='start_time'),
),
]
60 changes: 60 additions & 0 deletions django_celery_beat/migrations/0008_auto_20180914_1922.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# -*- coding: utf-8 -*-
# Generated by Django 2.0.3 on 2018-09-14 19:22
from __future__ import absolute_import, unicode_literals

from django.db import migrations, models
from django_celery_beat import validators


class Migration(migrations.Migration):
dependencies = [
('django_celery_beat', '0007_auto_20180521_0826'),
]

operations = [
migrations.AlterField(
model_name='crontabschedule',
name='day_of_month',
field=models.CharField(
default='*', max_length=124,
validators=[validators.day_of_month_validator],
verbose_name='day of month'
),
),
migrations.AlterField(
model_name='crontabschedule',
name='day_of_week',
field=models.CharField(
default='*', max_length=64,
validators=[validators.day_of_week_validator],
verbose_name='day of week'
),
),
migrations.AlterField(
model_name='crontabschedule',
name='hour',
field=models.CharField(
default='*', max_length=96,
validators=[validators.hour_validator],
verbose_name='hour'
),
),
migrations.AlterField(
model_name='crontabschedule',
name='minute',
field=models.CharField(
default='*', max_length=240,
validators=[validators.minute_validator],
verbose_name='minute'
),
),
migrations.AlterField(
model_name='crontabschedule',
name='month_of_year',
field=models.CharField(
default='*', max_length=64,
validators=[validators.month_of_year_validator],
verbose_name='month of year'
),
),
]
31 changes: 0 additions & 31 deletions django_celery_beat/migrations/0011_fix_migration_history.py

This file was deleted.

12 changes: 9 additions & 3 deletions t/unit/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,23 @@


class MigrationTests(TestCase):
def test_no_duplicate_migration_numbers(self):
def test_no_future_duplicate_migration_numbers(self):
"""Verify no duplicate migration numbers.

Migration files with the same number can cause issues with
backward migrations, so avoid them.
"""
path = os.path.dirname(beat_migrations.__file__)
files = [f[:4] for f in os.listdir(path) if f.endswith('.py')]
expected_duplicates = [
(3, '0006'),
]
duplicates_extra = sum(count - 1 for count, _ in expected_duplicates)
duplicates_numbers = [number for _, number in expected_duplicates]
self.assertEqual(
len(files), len(set(files)),
msg='Detected migration files with the same migration number')
len(files), len(set(files)) + duplicates_extra,
msg=('Detected migration files with the same migration number'
' (besides {})'.format(' and '.join(duplicates_numbers))))

def test_models_match_migrations(self):
"""Make sure that no model changes exist.
Expand Down