|
1 # -*- coding: utf-8 -*- |
|
2 from south.v2 import DataMigration |
|
3 |
|
4 from hdabo import utils |
|
5 |
|
6 |
|
7 class Migration(DataMigration): |
|
8 |
|
9 def forwards(self, orm): |
|
10 print("Stage 1 of 2 : procession Domains") |
|
11 total_line = orm.Domain.objects.count() |
|
12 for i,domain in enumerate(orm.Domain.objects.all()): |
|
13 utils.show_progress(i+1, total_line, "Processing %r " % domain.label, 50) |
|
14 domain.natural_key = utils.sanitize(domain.label).replace("-","") |
|
15 domain.save() |
|
16 |
|
17 print("Stage 2 of 2 : procession Periods") |
|
18 total_line = orm.TimePeriod.objects.count() |
|
19 for i,period in enumerate(orm.TimePeriod.objects.all()): |
|
20 utils.show_progress(i+1, total_line, "Processing %r " % period.label, 50) |
|
21 period.natural_key = utils.sanitize(period.label) |
|
22 period.save() |
|
23 |
|
24 def backwards(self, orm): |
|
25 orm.Domain.objects.all().update(natural_key=None) |
|
26 orm.TimePeriod.objects.all().update(natural_key=None) |
|
27 |
|
28 models = { |
|
29 u'auth.group': { |
|
30 'Meta': {'object_name': 'Group'}, |
|
31 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
32 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), |
|
33 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) |
|
34 }, |
|
35 u'auth.permission': { |
|
36 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, |
|
37 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
|
38 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), |
|
39 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
40 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
|
41 }, |
|
42 u'contenttypes.contenttype': { |
|
43 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
|
44 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
|
45 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
46 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
|
47 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) |
|
48 }, |
|
49 u'hdabo.author': { |
|
50 'Meta': {'object_name': 'Author'}, |
|
51 'firstname': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}), |
|
52 'hda_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512'}), |
|
53 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
54 'lastname': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}) |
|
55 }, |
|
56 u'hdabo.datasheet': { |
|
57 'Meta': {'object_name': 'Datasheet'}, |
|
58 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Author']", 'null': 'True', 'blank': 'True'}), |
|
59 'college_periods': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'college_periods_datasheets'", 'symmetrical': 'False', 'through': u"orm['hdabo.Datasheet_college_periods']", 'to': u"orm['hdabo.TimePeriod']"}), |
|
60 'college_themes': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'college_themes_datasheets'", 'symmetrical': 'False', 'through': u"orm['hdabo.Datasheet_college_themes']", 'to': u"orm['hdabo.Domain']"}), |
|
61 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), |
|
62 'domains': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'datasheets'", 'symmetrical': 'False', 'through': u"orm['hdabo.Datasheet_domains']", 'to': u"orm['hdabo.Domain']"}), |
|
63 'format': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.DocumentFormat']", 'null': 'True', 'blank': 'True'}), |
|
64 'hda_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512'}), |
|
65 'highschool_periods': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'highschool_periods_datasheets'", 'symmetrical': 'False', 'through': u"orm['hdabo.Datasheet_highschool_periods']", 'to': u"orm['hdabo.TimePeriod']"}), |
|
66 'highschool_themes': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'highschool_themes_datasheets'", 'symmetrical': 'False', 'through': u"orm['hdabo.Datasheet_highschool_themes']", 'to': u"orm['hdabo.Domain']"}), |
|
67 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
68 'manual_order': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), |
|
69 'modification_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
70 'organisation': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Organisation']", 'null': 'True'}), |
|
71 'original_creation_date': ('django.db.models.fields.DateField', [], {}), |
|
72 'original_modification_date': ('django.db.models.fields.DateField', [], {}), |
|
73 'primary_periods': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'primary_periods_datasheets'", 'symmetrical': 'False', 'through': u"orm['hdabo.Datasheet_primary_periods']", 'to': u"orm['hdabo.TimePeriod']"}), |
|
74 'primary_themes': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'primary_themes_datasheets'", 'symmetrical': 'False', 'through': u"orm['hdabo.Datasheet_primary_themes']", 'to': u"orm['hdabo.Domain']"}), |
|
75 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['hdabo.Tag']", 'through': u"orm['hdabo.TaggedSheet']", 'symmetrical': 'False'}), |
|
76 'title': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), |
|
77 'town': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Location']", 'null': 'True', 'blank': 'True'}), |
|
78 'url': ('django.db.models.fields.URLField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}), |
|
79 'validated': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), |
|
80 'validation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), |
|
81 'validator': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.User']", 'null': 'True', 'blank': 'True'}) |
|
82 }, |
|
83 u'hdabo.datasheet_college_periods': { |
|
84 'Meta': {'ordering': "['sort_value']", 'object_name': 'Datasheet_college_periods'}, |
|
85 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
86 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
87 'sort_value': ('django.db.models.fields.IntegerField', [], {}), |
|
88 'timeperiod': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.TimePeriod']"}) |
|
89 }, |
|
90 u'hdabo.datasheet_college_themes': { |
|
91 'Meta': {'ordering': "['sort_value']", 'object_name': 'Datasheet_college_themes'}, |
|
92 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
93 'domain': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Domain']"}), |
|
94 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
95 'sort_value': ('django.db.models.fields.IntegerField', [], {}) |
|
96 }, |
|
97 u'hdabo.datasheet_domains': { |
|
98 'Meta': {'ordering': "['sort_value']", 'object_name': 'Datasheet_domains'}, |
|
99 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
100 'domain': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Domain']"}), |
|
101 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
102 'sort_value': ('django.db.models.fields.IntegerField', [], {}) |
|
103 }, |
|
104 u'hdabo.datasheet_highschool_periods': { |
|
105 'Meta': {'ordering': "['sort_value']", 'object_name': 'Datasheet_highschool_periods'}, |
|
106 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
107 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
108 'sort_value': ('django.db.models.fields.IntegerField', [], {}), |
|
109 'timeperiod': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.TimePeriod']"}) |
|
110 }, |
|
111 u'hdabo.datasheet_highschool_themes': { |
|
112 'Meta': {'ordering': "['sort_value']", 'object_name': 'Datasheet_highschool_themes'}, |
|
113 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
114 'domain': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Domain']"}), |
|
115 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
116 'sort_value': ('django.db.models.fields.IntegerField', [], {}) |
|
117 }, |
|
118 u'hdabo.datasheet_primary_periods': { |
|
119 'Meta': {'ordering': "['sort_value']", 'object_name': 'Datasheet_primary_periods'}, |
|
120 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
121 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
122 'sort_value': ('django.db.models.fields.IntegerField', [], {}), |
|
123 'timeperiod': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.TimePeriod']"}) |
|
124 }, |
|
125 u'hdabo.datasheet_primary_themes': { |
|
126 'Meta': {'ordering': "['sort_value']", 'object_name': 'Datasheet_primary_themes'}, |
|
127 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
128 'domain': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Domain']"}), |
|
129 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
130 'sort_value': ('django.db.models.fields.IntegerField', [], {}) |
|
131 }, |
|
132 u'hdabo.documentformat': { |
|
133 'Meta': {'object_name': 'DocumentFormat'}, |
|
134 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
135 'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512'}) |
|
136 }, |
|
137 u'hdabo.domain': { |
|
138 'Meta': {'unique_together': "(('label', 'school_period'),)", 'object_name': 'Domain'}, |
|
139 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
140 'label': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
|
141 'natural_key': ('django.db.models.fields.CharField', [], {'max_length': '512', 'unique': 'True', 'null': 'True'}), |
|
142 'school_period': ('django.db.models.fields.IntegerField', [], {}) |
|
143 }, |
|
144 u'hdabo.folder': { |
|
145 'Meta': {'object_name': 'Folder'}, |
|
146 'datasheets': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['hdabo.Datasheet']", 'symmetrical': 'False'}), |
|
147 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), |
|
148 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
149 'title': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}), |
|
150 'url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '2048'}) |
|
151 }, |
|
152 u'hdabo.location': { |
|
153 'Meta': {'object_name': 'Location'}, |
|
154 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
155 'insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '5'}), |
|
156 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}) |
|
157 }, |
|
158 u'hdabo.organisation': { |
|
159 'Meta': {'object_name': 'Organisation'}, |
|
160 'hda_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512'}), |
|
161 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
162 'location': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}), |
|
163 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
|
164 'website': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}) |
|
165 }, |
|
166 u'hdabo.tag': { |
|
167 'Meta': {'unique_together': "(('label', 'original_label', 'url_status'),)", 'object_name': 'Tag'}, |
|
168 'alias': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), |
|
169 'alternative_label': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), |
|
170 'alternative_wikipedia_pageid': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), |
|
171 'alternative_wikipedia_url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'}), |
|
172 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.TagCategory']", 'null': 'True', 'blank': 'True'}), |
|
173 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
174 'dbpedia_uri': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'}), |
|
175 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
176 'label': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'db_index': 'True'}), |
|
177 'natural_key': ('django.db.models.fields.CharField', [], {'max_length': '7168', 'db_index': 'True'}), |
|
178 'normalized_label': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'db_index': 'True'}), |
|
179 'original_label': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), |
|
180 'popularity': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}), |
|
181 'url_status': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True', 'db_index': 'True', 'blank': 'True'}), |
|
182 'wikipedia_pageid': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), |
|
183 'wikipedia_url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'}) |
|
184 }, |
|
185 u'hdabo.tagcategory': { |
|
186 'Meta': {'object_name': 'TagCategory'}, |
|
187 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
188 'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512'}) |
|
189 }, |
|
190 u'hdabo.taggedsheet': { |
|
191 'Meta': {'object_name': 'TaggedSheet'}, |
|
192 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
193 'datasheet': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Datasheet']"}), |
|
194 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
195 'index_note': ('django.db.models.fields.FloatField', [], {'default': '0.0', 'db_index': 'True'}), |
|
196 'order': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}), |
|
197 'original_order': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
|
198 'tag': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['hdabo.Tag']"}), |
|
199 'wikipedia_revision_id': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}) |
|
200 }, |
|
201 u'hdabo.timeperiod': { |
|
202 'Meta': {'unique_together': "(('label', 'school_period'),)", 'object_name': 'TimePeriod'}, |
|
203 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
204 'label': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
|
205 'natural_key': ('django.db.models.fields.CharField', [], {'max_length': '512', 'unique': 'True', 'null': 'True'}), |
|
206 'school_period': ('django.db.models.fields.IntegerField', [], {}) |
|
207 }, |
|
208 u'hdabo.user': { |
|
209 'Meta': {'object_name': 'User', 'db_table': "'auth_user'"}, |
|
210 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
|
211 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), |
|
212 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
|
213 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), |
|
214 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
215 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
|
216 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
217 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
218 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
|
219 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
|
220 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
|
221 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), |
|
222 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) |
|
223 } |
|
224 } |
|
225 |
|
226 complete_apps = ['hdabo'] |
|
227 symmetrical = True |