Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / migrations / 0015_auto__add_groupkind__add_astakosgroup__add_resourcemetadata__add_astak.py @ 632b6458

History | View | Annotate | Download (20.4 kB)

1
# encoding: utf-8
2
import datetime
3
from south.db import db
4
from south.v2 import SchemaMigration
5
from django.db import models
6

    
7

    
8
class Migration(SchemaMigration):
9

    
10
    def forwards(self, orm):
11

    
12
        # Adding model 'GroupKind'
13
        db.create_table('im_groupkind', (
14
            ('id', self.gf(
15
                'django.db.models.fields.AutoField')(primary_key=True)),
16
            ('name', self.gf('django.db.models.fields.CharField')
17
             (unique=True, max_length=255, db_index=True)),
18
        ))
19
        db.send_create_signal('im', ['GroupKind'])
20

    
21
        # Adding model 'AstakosGroup'
22
        db.create_table('im_astakosgroup', (
23
            ('group_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.Group'], unique=True, primary_key=True)),
24
            ('kind', self.gf('django.db.models.fields.related.ForeignKey')
25
             (to=orm['im.GroupKind'])),
26
            ('desc', self.gf('django.db.models.fields.TextField')(null=True)),
27
            ('creation_date', self.gf('django.db.models.fields.DateTimeField')
28
             (default=datetime.datetime(2012, 8, 3, 11, 26, 47, 642626))),
29
            ('issue_date', self.gf(
30
                'django.db.models.fields.DateTimeField')(null=True)),
31
            ('expiration_date', self.gf(
32
                'django.db.models.fields.DateTimeField')(null=True)),
33
            ('moderation_enabled', self.gf(
34
                'django.db.models.fields.BooleanField')(default=False)),
35
            ('approval_date', self.gf('django.db.models.fields.DateTimeField')
36
             (null=True, blank=True)),
37
            ('estimated_participants', self.gf(
38
                'django.db.models.fields.PositiveIntegerField')(null=True)),
39
        ))
40
        db.send_create_signal('im', ['AstakosGroup'])
41

    
42
        # Adding model 'ResourceMetadata'
43
        db.create_table('im_resourcemetadata', (
44
            ('id', self.gf(
45
                'django.db.models.fields.AutoField')(primary_key=True)),
46
            ('key', self.gf('django.db.models.fields.CharField')
47
             (unique=True, max_length=255, db_index=True)),
48
            ('value', self.gf(
49
                'django.db.models.fields.CharField')(max_length=255)),
50
        ))
51
        db.send_create_signal('im', ['ResourceMetadata'])
52

    
53
        # Adding model 'AstakosGroupQuota'
54
        db.create_table('im_astakosgroupquota', (
55
            ('id', self.gf(
56
                'django.db.models.fields.AutoField')(primary_key=True)),
57
            ('limit', self.gf(
58
                'django.db.models.fields.PositiveIntegerField')()),
59
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')
60
             (to=orm['im.Resource'])),
61
            ('group', self.gf('django.db.models.fields.related.ForeignKey')
62
             (to=orm['im.AstakosGroup'], blank=True)),
63
        ))
64
        db.send_create_signal('im', ['AstakosGroupQuota'])
65

    
66
        # Adding unique constraint on 'AstakosGroupQuota', fields ['resource', 'group']
67
        db.create_unique('im_astakosgroupquota', ['resource_id', 'group_id'])
68

    
69
        # Adding model 'Resource'
70
        db.create_table('im_resource', (
71
            ('id', self.gf(
72
                'django.db.models.fields.AutoField')(primary_key=True)),
73
            ('name', self.gf('django.db.models.fields.CharField')
74
             (unique=True, max_length=255, db_index=True)),
75
            ('service', self.gf('django.db.models.fields.related.ForeignKey')
76
             (to=orm['im.Service'])),
77
        ))
78
        db.send_create_signal('im', ['Resource'])
79

    
80
        # Adding M2M table for field meta on 'Resource'
81
        db.create_table('im_resource_meta', (
82
            ('id', models.AutoField(
83
                verbose_name='ID', primary_key=True, auto_created=True)),
84
            ('resource', models.ForeignKey(orm['im.resource'], null=False)),
85
            ('resourcemetadata', models.ForeignKey(orm[
86
             'im.resourcemetadata'], null=False))
87
        ))
88
        db.create_unique(
89
            'im_resource_meta', ['resource_id', 'resourcemetadata_id'])
90

    
91
        # Adding model 'Membership'
92
        db.create_table('im_membership', (
93
            ('id', self.gf(
94
                'django.db.models.fields.AutoField')(primary_key=True)),
95
            ('person', self.gf('django.db.models.fields.related.ForeignKey')
96
             (to=orm['im.AstakosUser'])),
97
            ('group', self.gf('django.db.models.fields.related.ForeignKey')
98
             (to=orm['im.AstakosGroup'])),
99
            ('date_requested', self.gf('django.db.models.fields.DateField')
100
             (default=datetime.datetime(2012, 8, 3, 11, 26, 47, 646518))),
101
            ('date_joined', self.gf('django.db.models.fields.DateField')
102
             (null=True, db_index=True)),
103
        ))
104
        db.send_create_signal('im', ['Membership'])
105

    
106
        # Adding unique constraint on 'Membership', fields ['person', 'group']
107
        db.create_unique('im_membership', ['person_id', 'group_id'])
108

    
109
        # Adding model 'AstakosUserQuota'
110
        db.create_table('im_astakosuserquota', (
111
            ('id', self.gf(
112
                'django.db.models.fields.AutoField')(primary_key=True)),
113
            ('limit', self.gf(
114
                'django.db.models.fields.PositiveIntegerField')()),
115
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')
116
             (to=orm['im.Resource'])),
117
            ('user', self.gf('django.db.models.fields.related.ForeignKey')
118
             (to=orm['im.AstakosUser'])),
119
        ))
120
        db.send_create_signal('im', ['AstakosUserQuota'])
121

    
122
        # Adding unique constraint on 'AstakosUserQuota', fields ['resource', 'user']
123
        db.create_unique('im_astakosuserquota', ['resource_id', 'user_id'])
124

    
125
        # Adding index on 'Service', fields ['name']
126
        db.create_index('im_service', ['name'])
127

    
128
        # Adding M2M table for field owner on 'AstakosUser'
129
        db.create_table('im_astakosuser_owner', (
130
            ('id', models.AutoField(
131
                verbose_name='ID', primary_key=True, auto_created=True)),
132
            ('astakosuser', models.ForeignKey(orm[
133
             'im.astakosuser'], null=False)),
134
            ('astakosgroup', models.ForeignKey(orm[
135
             'im.astakosgroup'], null=False))
136
        ))
137
        db.create_unique(
138
            'im_astakosuser_owner', ['astakosuser_id', 'astakosgroup_id'])
139

    
140
    def backwards(self, orm):
141

    
142
        # Removing index on 'Service', fields ['name']
143
        db.delete_index('im_service', ['name'])
144

    
145
        # Removing unique constraint on 'AstakosUserQuota', fields ['resource', 'user']
146
        db.delete_unique('im_astakosuserquota', ['resource_id', 'user_id'])
147

    
148
        # Removing unique constraint on 'Membership', fields ['person', 'group']
149
        db.delete_unique('im_membership', ['person_id', 'group_id'])
150

    
151
        # Removing unique constraint on 'AstakosGroupQuota', fields ['resource', 'group']
152
        db.delete_unique('im_astakosgroupquota', ['resource_id', 'group_id'])
153

    
154
        # Deleting model 'GroupKind'
155
        db.delete_table('im_groupkind')
156

    
157
        # Deleting model 'AstakosGroup'
158
        db.delete_table('im_astakosgroup')
159

    
160
        # Deleting model 'ResourceMetadata'
161
        db.delete_table('im_resourcemetadata')
162

    
163
        # Deleting model 'AstakosGroupQuota'
164
        db.delete_table('im_astakosgroupquota')
165

    
166
        # Deleting model 'Resource'
167
        db.delete_table('im_resource')
168

    
169
        # Removing M2M table for field meta on 'Resource'
170
        db.delete_table('im_resource_meta')
171

    
172
        # Deleting model 'Membership'
173
        db.delete_table('im_membership')
174

    
175
        # Deleting model 'AstakosUserQuota'
176
        db.delete_table('im_astakosuserquota')
177

    
178
        # Removing M2M table for field owner on 'AstakosUser'
179
        db.delete_table('im_astakosuser_owner')
180

    
181
    models = {
182
        'auth.group': {
183
            'Meta': {'object_name': 'Group'},
184
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
185
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
186
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
187
        },
188
        'auth.permission': {
189
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
190
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
191
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
192
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
193
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
194
        },
195
        'auth.user': {
196
            'Meta': {'object_name': 'User'},
197
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
198
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
199
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
200
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
201
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
202
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
203
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
204
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
205
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
206
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
207
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
208
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
209
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
210
        },
211
        'contenttypes.contenttype': {
212
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
213
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
214
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
215
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
216
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
217
        },
218
        'im.additionalmail': {
219
            'Meta': {'object_name': 'AdditionalMail'},
220
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
221
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
222
            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
223
        },
224
        'im.approvalterms': {
225
            'Meta': {'object_name': 'ApprovalTerms'},
226
            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 3, 11, 26, 47, 648667)', 'db_index': 'True'}),
227
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
228
            'location': ('django.db.models.fields.CharField', [], {'max_length': '255'})
229
        },
230
        'im.astakosgroup': {
231
            'Meta': {'object_name': 'AstakosGroup', '_ormbases': ['auth.Group']},
232
            'approval_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
233
            'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 3, 11, 26, 47, 642626)'}),
234
            'desc': ('django.db.models.fields.TextField', [], {'null': 'True'}),
235
            'estimated_participants': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
236
            'expiration_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
237
            'group_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.Group']", 'unique': 'True', 'primary_key': 'True'}),
238
            'issue_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
239
            'kind': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.GroupKind']"}),
240
            'moderation_enabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
241
            'policy': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.AstakosGroupQuota']", 'blank': 'True'})
242
        },
243
        'im.astakosgroupquota': {
244
            'Meta': {'unique_together': "(('resource', 'group'),)", 'object_name': 'AstakosGroupQuota'},
245
            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosGroup']", 'blank': 'True'}),
246
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
247
            'limit': ('django.db.models.fields.PositiveIntegerField', [], {}),
248
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"})
249
        },
250
        'im.astakosuser': {
251
            'Meta': {'unique_together': "(('provider', 'third_party_identifier'),)", 'object_name': 'AstakosUser', '_ormbases': ['auth.User']},
252
            'activation_sent': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
253
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
254
            'astakos_groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.AstakosGroup']", 'symmetrical': 'False', 'through': "orm['im.Membership']", 'blank': 'True'}),
255
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
256
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
257
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
258
            'date_signed_terms': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
259
            'email_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
260
            'has_credits': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
261
            'has_signed_terms': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
262
            'invitations': ('django.db.models.fields.IntegerField', [], {'default': '100'}),
263
            'is_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
264
            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
265
            'owner': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'owner'", 'null': 'True', 'to': "orm['im.AstakosGroup']"}),
266
            'policy': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.AstakosUserQuota']", 'symmetrical': 'False'}),
267
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
268
            'third_party_identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
269
            'updated': ('django.db.models.fields.DateTimeField', [], {}),
270
            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
271
        },
272
        'im.astakosuserquota': {
273
            'Meta': {'unique_together': "(('resource', 'user'),)", 'object_name': 'AstakosUserQuota'},
274
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
275
            'limit': ('django.db.models.fields.PositiveIntegerField', [], {}),
276
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"}),
277
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
278
        },
279
        'im.emailchange': {
280
            'Meta': {'object_name': 'EmailChange'},
281
            'activation_key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '40', 'db_index': 'True'}),
282
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
283
            'new_email_address': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
284
            'requested_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 3, 11, 26, 47, 650373)'}),
285
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emailchange_user'", 'unique': 'True', 'to': "orm['im.AstakosUser']"})
286
        },
287
        'im.groupkind': {
288
            'Meta': {'object_name': 'GroupKind'},
289
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
290
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'})
291
        },
292
        'im.invitation': {
293
            'Meta': {'object_name': 'Invitation'},
294
            'code': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
295
            'consumed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
296
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
297
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
298
            'inviter': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invitations_sent'", 'null': 'True', 'to': "orm['im.AstakosUser']"}),
299
            'is_consumed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
300
            'realname': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
301
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
302
        },
303
        'im.membership': {
304
            'Meta': {'unique_together': "(('person', 'group'),)", 'object_name': 'Membership'},
305
            'date_joined': ('django.db.models.fields.DateField', [], {'null': 'True', 'db_index': 'True'}),
306
            'date_requested': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2012, 8, 3, 11, 26, 47, 646518)'}),
307
            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosGroup']"}),
308
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
309
            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
310
        },
311
        'im.resource': {
312
            'Meta': {'object_name': 'Resource'},
313
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
314
            'meta': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.ResourceMetadata']", 'symmetrical': 'False'}),
315
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
316
            'service': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Service']"})
317
        },
318
        'im.resourcemetadata': {
319
            'Meta': {'object_name': 'ResourceMetadata'},
320
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
321
            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
322
            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
323
        },
324
        'im.service': {
325
            'Meta': {'object_name': 'Service'},
326
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
327
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
328
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
329
            'icon': ('django.db.models.fields.FilePathField', [], {'max_length': '100', 'blank': 'True'}),
330
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
331
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
332
            'url': ('django.db.models.fields.FilePathField', [], {'max_length': '100'})
333
        }
334
    }
335

    
336
    complete_apps = ['im']