From 3ae3820fc3b3fe10000f993fd89191b3e3a844b9 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Tue, 18 Jul 2017 17:43:29 +0200 Subject: [PATCH] Add temporary ext_id_old for Corporation and CorpContact --- stages/migrations/0019_add_old_ext_id.py | 31 ++++++++++++++++++++++++ stages/models.py | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 stages/migrations/0019_add_old_ext_id.py diff --git a/stages/migrations/0019_add_old_ext_id.py b/stages/migrations/0019_add_old_ext_id.py new file mode 100644 index 0000000..af0034f --- /dev/null +++ b/stages/migrations/0019_add_old_ext_id.py @@ -0,0 +1,31 @@ +from django.db import migrations, models + + +def migrate_extid(apps, schema_editor): + Corporation = apps.get_model("stages", "Corporation") + CorpContact = apps.get_model("stages", "CorpContact") + Corporation.objects.update(ext_id_old=models.F('ext_id')) + CorpContact.objects.update(ext_id_old=models.F('ext_id')) + Corporation.objects.update(ext_id=None) + CorpContact.objects.update(ext_id=None) + + +class Migration(migrations.Migration): + + dependencies = [ + ('stages', '0018_removed_referent_model'), + ] + + operations = [ + migrations.AddField( + model_name='corpcontact', + name='ext_id_old', + field=models.IntegerField(blank=True, null=True, verbose_name='ID externe (ancien)'), + ), + migrations.AddField( + model_name='corporation', + name='ext_id_old', + field=models.IntegerField(blank=True, null=True, verbose_name='ID externe (ancien)'), + ), + migrations.RunPython(migrate_extid, migrations.RunPython.noop), + ] diff --git a/stages/models.py b/stages/models.py index 79dd209..ba50b42 100644 --- a/stages/models.py +++ b/stages/models.py @@ -196,6 +196,7 @@ class Student(models.Model): class Corporation(models.Model): ext_id = models.IntegerField(null=True, blank=True, verbose_name='ID externe') + ext_id_old = models.IntegerField(null=True, blank=True, verbose_name='ID externe (ancien)') name = models.CharField(max_length=100, verbose_name='Nom', unique=True) short_name = models.CharField(max_length=40, blank=True, verbose_name='Nom court') district = models.CharField(max_length=20, blank=True, verbose_name='Canton') @@ -223,6 +224,7 @@ class Corporation(models.Model): class CorpContact(models.Model): corporation = models.ForeignKey(Corporation, verbose_name='Institution', on_delete=models.CASCADE) ext_id = models.IntegerField(null=True, blank=True, verbose_name='ID externe') + ext_id_old = models.IntegerField(null=True, blank=True, verbose_name='ID externe (ancien)') is_main = models.BooleanField(default=False, verbose_name='Contact principal') always_cc = models.BooleanField(default=False, verbose_name='Toujours en copie') title = models.CharField(max_length=40, blank=True, verbose_name='Civilité')