|
1 # -*- coding: utf-8 -*- |
|
2 from __future__ import unicode_literals |
|
3 |
|
4 from django.db import migrations, models |
|
5 from django.conf import settings |
|
6 import uuid |
|
7 |
|
8 def populate_revision(apps, schema_editor): |
|
9 renkans = apps.get_model('renkanmanager', 'Renkan') |
|
10 revisions = apps.get_model('renkanmanager', 'Revision') |
|
11 for renkan in renkans.objects.all(): |
|
12 renkan.creator = renkan.owner |
|
13 renkan.renkan_guid = renkan.rk_id |
|
14 if not renkan.current_revision_guid: |
|
15 new_revision = revisions.objects.create() |
|
16 new_revision.parent_renkan_guid = renkan.renkan_guid |
|
17 new_revision.creator = renkan.creator |
|
18 new_revision.last_updated_by = renkan.creator |
|
19 new_revision.title = renkan.title |
|
20 new_revision.content = renkan.content |
|
21 new_revision.creation_date = renkan.creation_date |
|
22 new_revision.modification_date = renkan.modification_date |
|
23 new_revision.save() |
|
24 renkan.current_revision_guid = new_revision.revision_guid |
|
25 renkan.save() |
|
26 |
|
27 class Migration(migrations.Migration): |
|
28 |
|
29 dependencies = [ |
|
30 migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
|
31 ('renkanmanager', '0001_initial'), |
|
32 ] |
|
33 |
|
34 operations = [ |
|
35 migrations.CreateModel( |
|
36 name='Revision', |
|
37 fields=[ |
|
38 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), |
|
39 ('revision_guid', models.CharField(default=uuid.uuid4, unique=True, max_length=256)), |
|
40 ('parent_renkan_guid', models.CharField(max_length=256)), |
|
41 ('title', models.CharField(max_length=1024, null=True)), |
|
42 ('content', models.TextField(null=True, blank=True)), |
|
43 ('creation_date', models.DateTimeField(auto_now_add=True)), |
|
44 ('modification_date', models.DateTimeField(auto_now=True)), |
|
45 ('creator', models.ForeignKey(related_name='revision_creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)), |
|
46 ('last_updated_by', models.ForeignKey(related_name='revision_last_updated_by', blank=True, to=settings.AUTH_USER_MODEL, null=True)), |
|
47 ], |
|
48 ), |
|
49 migrations.CreateModel( |
|
50 name='Workspace', |
|
51 fields=[ |
|
52 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), |
|
53 ('workspace_guid', models.CharField(default=uuid.uuid4, unique=True, max_length=1024)), |
|
54 ('title', models.CharField(max_length=1024, null=True)), |
|
55 ('creation_date', models.DateTimeField(auto_now_add=True)), |
|
56 ('creator', models.ForeignKey(related_name='workspace_creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)), |
|
57 ], |
|
58 ), |
|
59 migrations.AddField( |
|
60 model_name='renkan', |
|
61 name='creator', |
|
62 field=models.ForeignKey(related_name='renkan_creator', blank=True, to=settings.AUTH_USER_MODEL, null=True), |
|
63 ), |
|
64 migrations.AddField( |
|
65 model_name='renkan', |
|
66 name='current_revision_guid', |
|
67 field=models.CharField(max_length=256, null=True, blank=True), |
|
68 ), |
|
69 migrations.AddField( |
|
70 model_name='renkan', |
|
71 name='renkan_guid', |
|
72 field=models.CharField(default=uuid.uuid4, unique=True, max_length=256), |
|
73 ), |
|
74 migrations.AddField( |
|
75 model_name='renkan', |
|
76 name='source_revision_guid', |
|
77 field=models.CharField(max_length=256, null=True, blank=True), |
|
78 ), |
|
79 migrations.AddField( |
|
80 model_name='renkan', |
|
81 name='workspace_guid', |
|
82 field=models.CharField(max_length=256, null=True, blank=True), |
|
83 ), |
|
84 migrations.AddField( |
|
85 model_name='renkan', |
|
86 name='state', |
|
87 field=models.IntegerField(default=1), |
|
88 ), |
|
89 migrations.RunPython(populate_revision), |
|
90 migrations.RemoveField( |
|
91 model_name='renkan', |
|
92 name='content', |
|
93 ), |
|
94 migrations.RemoveField( |
|
95 model_name='renkan', |
|
96 name='image', |
|
97 ), |
|
98 migrations.RemoveField( |
|
99 model_name='renkan', |
|
100 name='modification_date', |
|
101 ), |
|
102 migrations.RemoveField( |
|
103 model_name='renkan', |
|
104 name='owner', |
|
105 ), |
|
106 migrations.RemoveField( |
|
107 model_name='renkan', |
|
108 name='rk_id', |
|
109 ), |
|
110 migrations.RemoveField( |
|
111 model_name='renkan', |
|
112 name='title', |
|
113 ), |
|
114 ] |