| 1 | # Generated by Django 2.0.6 on 2018-06-12 12:19
|
|---|
| 2 | from django.db import migrations, models
|
|---|
| 3 | import uuid
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 | from common.migration_utils import CustomMigration
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 | def step(x):
|
|---|
| 10 | def f(*args):
|
|---|
| 11 | print('\n\n\n\n\n\n')
|
|---|
| 12 | print('==================== STEP ========================= ', x, ' =====================')
|
|---|
| 13 | print('\n\n')
|
|---|
| 14 | return f
|
|---|
| 15 |
|
|---|
| 16 |
|
|---|
| 17 | class Migration(CustomMigration):
|
|---|
| 18 |
|
|---|
| 19 | dependencies = [
|
|---|
| 20 | ('vario', '0026_populate_and_match_layout_uuids'),
|
|---|
| 21 | ]
|
|---|
| 22 |
|
|---|
| 23 | operations = [
|
|---|
| 24 | migrations.RunPython(code=step(1)),
|
|---|
| 25 | # we no longer need the link to layout id, remove it
|
|---|
| 26 | migrations.RemoveField(
|
|---|
| 27 | model_name='layoutfield',
|
|---|
| 28 | name='layout',
|
|---|
| 29 | ),
|
|---|
| 30 |
|
|---|
| 31 | migrations.RunPython(code=step(2)),
|
|---|
| 32 | # and rename the link to layout uuid to be called layout
|
|---|
| 33 | migrations.RenameField(
|
|---|
| 34 | model_name='layoutfield',
|
|---|
| 35 | old_name='temp_layout',
|
|---|
| 36 | new_name='layout'
|
|---|
| 37 | ),
|
|---|
| 38 |
|
|---|
| 39 | migrations.RunPython(code=step(3)),
|
|---|
| 40 | # remove the id PK in ExampleLayout
|
|---|
| 41 | migrations.RemoveField(
|
|---|
| 42 | model_name='examplelayout',
|
|---|
| 43 | name='id',
|
|---|
| 44 | ),
|
|---|
| 45 |
|
|---|
| 46 | migrations.RunPython(code=step(4)),
|
|---|
| 47 | # and make the uuid the new PK
|
|---|
| 48 | migrations.AlterField(
|
|---|
| 49 | model_name='examplelayout',
|
|---|
| 50 | name='uuid',
|
|---|
| 51 | field=models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False),
|
|---|
| 52 | ),
|
|---|
| 53 |
|
|---|
| 54 | migrations.RunPython(code=step(5)),
|
|---|
| 55 | # remove the id PK in LayoutField
|
|---|
| 56 | migrations.RemoveField(
|
|---|
| 57 | model_name='layoutfield',
|
|---|
| 58 | name='id',
|
|---|
| 59 | ),
|
|---|
| 60 |
|
|---|
| 61 | migrations.RunPython(code=step(6)),
|
|---|
| 62 | # and make the uuid the new PK
|
|---|
| 63 | migrations.AlterField(
|
|---|
| 64 | model_name='layoutfield',
|
|---|
| 65 | name='uuid',
|
|---|
| 66 | field=models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False),
|
|---|
| 67 | ),
|
|---|
| 68 |
|
|---|
| 69 | migrations.RunPython(code=step(7)),
|
|---|
| 70 | # and make the uuid link to ExampleLayout a proper FK
|
|---|
| 71 | migrations.AlterField(
|
|---|
| 72 | model_name='layoutfield',
|
|---|
| 73 | name='layout',
|
|---|
| 74 | field=models.ForeignKey(on_delete=models.deletion.CASCADE, related_name='fields', to='vario.ExampleLayout'),
|
|---|
| 75 | ),
|
|---|
| 76 |
|
|---|
| 77 | migrations.RunPython(code=step(8)),
|
|---|
| 78 | ]
|
|---|