From 536be5212f93292a2f66dd6b56254ac98a5e95db Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Thu, 27 Sep 2018 20:56:30 +0200 Subject: [PATCH] Add data migrations --- .../migrations/0044_auto_20180927_2050.py | 24 ++++++++++++++ .../migrations/0045_auto_20180927_2055.py | 31 +++++++++++++++++++ journals/models.py | 2 +- 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 journals/migrations/0044_auto_20180927_2050.py create mode 100644 journals/migrations/0045_auto_20180927_2055.py diff --git a/journals/migrations/0044_auto_20180927_2050.py b/journals/migrations/0044_auto_20180927_2050.py new file mode 100644 index 000000000..480657815 --- /dev/null +++ b/journals/migrations/0044_auto_20180927_2050.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-09-27 18:50 +from __future__ import unicode_literals + +from django.db import migrations + + +def update_issue_slugs(apps, schema_editor): + """Fill all slug fields for existing Issue instances.""" + Issue = apps.get_model('journals', 'Issue') + + for issue in Issue.objects.all(): + Issue.objects.filter(id=issue.id).update(slug=issue.number) + + +class Migration(migrations.Migration): + + dependencies = [ + ('journals', '0043_auto_20180927_2014'), + ] + + operations = [ + migrations.RunPython(update_issue_slugs), + ] diff --git a/journals/migrations/0045_auto_20180927_2055.py b/journals/migrations/0045_auto_20180927_2055.py new file mode 100644 index 000000000..75588da9e --- /dev/null +++ b/journals/migrations/0045_auto_20180927_2055.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-09-27 18:55 +from __future__ import unicode_literals + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('journals', '0044_auto_20180927_2050'), + ] + + operations = [ + migrations.AlterField( + model_name='issue', + name='doi_label', + field=models.CharField(db_index=True, max_length=200, unique=True, validators=[django.core.validators.RegexValidator('^[a-zA-Z]+.\\w+(.[0-9]+)?$', 'Only valid DOI expressions are allowed ([a-zA-Z]+.\\w+(.[0-9]+)?)')]), + ), + migrations.AlterField( + model_name='issue', + name='slug', + field=models.SlugField(), + ), + migrations.AlterField( + model_name='publication', + name='doi_label', + field=models.CharField(db_index=True, max_length=200, unique=True, validators=[django.core.validators.RegexValidator('^(SciPostPhysProc|SciPostPhysSel|SciPostPhysLectNotes|SciPostPhys)(.\\w+(.[0-9]+(.[0-9]{3,})?)?)?$', 'Only valid DOI expressions are allowed: `[a-zA-Z]+(.\\w+(.[0-9]+(.[0-9]{3,})?)?)?`')]), + ), + ] diff --git a/journals/models.py b/journals/models.py index 07df5dcb0..9da8242ea 100644 --- a/journals/models.py +++ b/journals/models.py @@ -256,7 +256,7 @@ class Issue(models.Model): 'journals.Volume', on_delete=models.CASCADE, null=True, blank=True, help_text='Assign either an Volume or Journal to the Issue') number = models.PositiveSmallIntegerField() - # slug = models.SlugField(null=True) + slug = models.SlugField() start_date = models.DateField(default=timezone.now) until_date = models.DateField(default=timezone.now) status = models.CharField(max_length=20, choices=ISSUE_STATUSES, default=STATUS_PUBLISHED) -- GitLab