source: asadb/groups/migrations/0007_add_statusy_stuff.py

space-accessstablestagetest-hooks
Last change on this file was b713ac7, checked in by Alex Dehnert <adehnert@…>, 14 years ago

Add class/status/funding

  • Property mode set to 100644
File size: 13.3 KB
Line 
1# encoding: utf-8
2import datetime
3from south.db import db
4from south.v2 import SchemaMigration
5from django.db import models
6
7class Migration(SchemaMigration):
8
9    def forwards(self, orm):
10       
11        # Adding model 'GroupFunding'
12        db.create_table('groups_groupfunding', (
13            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
14            ('name', self.gf('django.db.models.fields.CharField')(max_length=50)),
15            ('slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=50, db_index=True)),
16            ('contact_email', self.gf('django.db.models.fields.EmailField')(max_length=75)),
17            ('funding_list', self.gf('django.db.models.fields.CharField')(max_length=32, blank=True)),
18        ))
19        db.send_create_signal('groups', ['GroupFunding'])
20
21        # Adding model 'GroupClass'
22        db.create_table('groups_groupclass', (
23            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
24            ('name', self.gf('django.db.models.fields.CharField')(max_length=50)),
25            ('slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=50, db_index=True)),
26            ('description', self.gf('django.db.models.fields.TextField')()),
27            ('gets_publicity', self.gf('django.db.models.fields.BooleanField')(default=False)),
28        ))
29        db.send_create_signal('groups', ['GroupClass'])
30
31        # Adding model 'GroupStatus'
32        db.create_table('groups_groupstatus', (
33            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
34            ('name', self.gf('django.db.models.fields.CharField')(max_length=50)),
35            ('slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=50, db_index=True)),
36            ('description', self.gf('django.db.models.fields.TextField')()),
37            ('is_active', self.gf('django.db.models.fields.BooleanField')(default=True)),
38        ))
39        db.send_create_signal('groups', ['GroupStatus'])
40
41        # Adding field 'Group.group_class'
42        db.add_column('groups_group', 'group_class', self.gf('django.db.models.fields.related.ForeignKey')(default=-1, to=orm['groups.GroupClass']), keep_default=False)
43
44        # Adding field 'Group.group_status'
45        db.add_column('groups_group', 'group_status', self.gf('django.db.models.fields.related.ForeignKey')(default=-1, to=orm['groups.GroupStatus']), keep_default=False)
46
47        # Adding field 'Group.group_funding'
48        db.add_column('groups_group', 'group_funding', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['groups.GroupFunding'], null=True, blank=True), keep_default=False)
49
50
51    def backwards(self, orm):
52       
53        # Deleting model 'GroupFunding'
54        db.delete_table('groups_groupfunding')
55
56        # Deleting model 'GroupClass'
57        db.delete_table('groups_groupclass')
58
59        # Deleting model 'GroupStatus'
60        db.delete_table('groups_groupstatus')
61
62        # Deleting field 'Group.group_class'
63        db.delete_column('groups_group', 'group_class_id')
64
65        # Deleting field 'Group.group_status'
66        db.delete_column('groups_group', 'group_status_id')
67
68        # Deleting field 'Group.group_funding'
69        db.delete_column('groups_group', 'group_funding_id')
70
71
72    models = {
73        'auth.group': {
74            'Meta': {'object_name': 'Group'},
75            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
76            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
77            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
78        },
79        'auth.permission': {
80            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
81            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
82            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
83            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
84            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
85        },
86        'auth.user': {
87            'Meta': {'object_name': 'User'},
88            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
89            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
90            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
91            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
92            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
93            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
94            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
95            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
96            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
97            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
98            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
99            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
100            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
101        },
102        'contenttypes.contenttype': {
103            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
104            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
105            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
106            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
107            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
108        },
109        'groups.activitycategory': {
110            'Meta': {'object_name': 'ActivityCategory'},
111            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
112            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
113        },
114        'groups.athenamoiraaccount': {
115            'Meta': {'object_name': 'AthenaMoiraAccount'},
116            'account_class': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
117            'add_date': ('django.db.models.fields.DateField', [], {}),
118            'del_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
119            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '45'}),
120            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
121            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '45'}),
122            'mit_id': ('django.db.models.fields.CharField', [], {'max_length': '15'}),
123            'mod_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
124            'mutable': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
125            'username': ('django.db.models.fields.CharField', [], {'max_length': '8'})
126        },
127        'groups.group': {
128            'Meta': {'ordering': "('name',)", 'object_name': 'Group'},
129            'abbreviation': ('django.db.models.fields.CharField', [], {'max_length': '10', 'blank': 'True'}),
130            'activity_category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.ActivityCategory']", 'null': 'True', 'blank': 'True'}),
131            'advisor_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
132            'athena_locker': ('django.db.models.fields.CharField', [], {'max_length': '20', 'blank': 'True'}),
133            'constitution_url': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
134            'description': ('django.db.models.fields.TextField', [], {}),
135            'funding_account_id': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
136            'group_class': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.GroupClass']"}),
137            'group_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
138            'group_funding': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.GroupFunding']", 'null': 'True', 'blank': 'True'}),
139            'group_status': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.GroupStatus']"}),
140            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
141            'main_account_id': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
142            'meeting_times': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
143            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
144            'num_community': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
145            'num_grads': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
146            'num_other': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
147            'num_undergrads': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
148            'officer_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
149            'recognition_date': ('django.db.models.fields.DateField', [], {}),
150            'update_date': ('django.db.models.fields.DateTimeField', [], {}),
151            'updater': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
152            'website_url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
153        },
154        'groups.groupclass': {
155            'Meta': {'object_name': 'GroupClass'},
156            'description': ('django.db.models.fields.TextField', [], {}),
157            'gets_publicity': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
158            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
159            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
160            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'})
161        },
162        'groups.groupfunding': {
163            'Meta': {'object_name': 'GroupFunding'},
164            'contact_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
165            'funding_list': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
166            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
167            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
168            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'})
169        },
170        'groups.groupstatus': {
171            'Meta': {'object_name': 'GroupStatus'},
172            'description': ('django.db.models.fields.TextField', [], {}),
173            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
174            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
175            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
176            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'})
177        },
178        'groups.officeholder': {
179            'Meta': {'object_name': 'OfficeHolder'},
180            'end_time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)'}),
181            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.Group']"}),
182            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
183            'person': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
184            'role': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['groups.OfficerRole']"}),
185            'start_time': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'})
186        },
187        'groups.officerrole': {
188            'Meta': {'object_name': 'OfficerRole'},
189            'description': ('django.db.models.fields.TextField', [], {}),
190            'display_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
191            'grant_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
192            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
193            'max_count': ('django.db.models.fields.IntegerField', [], {'default': '10000'}),
194            'require_student': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
195            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'})
196        }
197    }
198
199    complete_apps = ['groups']
Note: See TracBrowser for help on using the repository browser.