SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 2fcc83ef authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Update petitions.PetitionSignatory to new org

This uses a multi-step migration cycle:
- rename existing organization field to organization_tbd
- add a new field org
- perform a data migration from organization_tbd to org
- delete organization_tbd
- rename org to organization
parent 49fd4cdc
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2018-09-22 11:57
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('petitions', '0003_petitionsignatory_organization'),
]
operations = [
migrations.RenameField(
model_name='petitionsignatory',
old_name='organization',
new_name='organization_tbd',
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2018-09-22 11:58
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('organizations', '0002_populate_from_partners_org'),
('petitions', '0004_auto_20180922_1357'),
]
operations = [
migrations.AddField(
model_name='petitionsignatory',
name='org',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='petition_signatories', to='organizations.Organization'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2018-09-22 12:05
from __future__ import unicode_literals
from django.db import migrations
def repopulate_organization_field(apps, schema_editor):
PetitionSignatory = apps.get_model('petitions', 'PetitionSignatory')
Organization = apps.get_model('organizations', 'Organization')
PartnersOrganization = apps.get_model('partners', 'Organization')
for petsign in PetitionSignatory.objects.all():
if petsign.organization_tbd:
org = Organization.objects.get(name=petsign.organization_tbd.name)
petsign.org = org
petsign.save()
class Migration(migrations.Migration):
dependencies = [
('petitions', '0005_petitionsignatory_organization'),
]
operations = [
migrations.RunPython(repopulate_organization_field,
reverse_code=migrations.RunPython.noop),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2018-09-22 12:30
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('petitions', '0006_repopulate_petsign_orgs'),
]
operations = [
migrations.RemoveField(
model_name='petitionsignatory',
name='organization_tbd',
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2018-09-22 12:32
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('petitions', '0007_remove_petitionsignatory_organization_tbd'),
]
operations = [
migrations.RenameField(
model_name='petitionsignatory',
old_name='org',
new_name='organization',
),
]
......@@ -39,7 +39,7 @@ class PetitionSignatory(models.Model):
email = models.EmailField()
country_of_employment = CountryField()
affiliation = models.CharField(max_length=300, verbose_name='affiliation')
organization = models.ForeignKey('partners.Organization', blank=True, null=True,
organization = models.ForeignKey('organizations.Organization', blank=True, null=True,
on_delete=models.SET_NULL)
signed_on = models.DateTimeField(auto_now_add=True)
verification_key = models.CharField(max_length=40, blank=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment