~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to pybb/migrations/0001_initial.py

  • Committer: Holger Rapp
  • Date: 2012-03-17 16:22:06 UTC
  • Revision ID: sirver@gmx.de-20120317162206-fgttamk22qt1nytj
Let post count be calculated automatically instead of keeping track of it manually. Let's see how this affects performance

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
class Migration(SchemaMigration):
 
8
 
 
9
    def forwards(self, orm):
 
10
        
 
11
        # Adding model 'Category'
 
12
        db.create_table('pybb_category', (
 
13
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
 
14
            ('name', self.gf('django.db.models.fields.CharField')(max_length=80)),
 
15
            ('position', self.gf('django.db.models.fields.IntegerField')(default=0, blank=True)),
 
16
        ))
 
17
        db.send_create_signal('pybb', ['Category'])
 
18
 
 
19
        # Adding model 'Forum'
 
20
        db.create_table('pybb_forum', (
 
21
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
 
22
            ('category', self.gf('django.db.models.fields.related.ForeignKey')(related_name='forums', to=orm['pybb.Category'])),
 
23
            ('name', self.gf('django.db.models.fields.CharField')(max_length=80)),
 
24
            ('position', self.gf('django.db.models.fields.IntegerField')(default=0, blank=True)),
 
25
            ('description', self.gf('django.db.models.fields.TextField')(default='', blank=True)),
 
26
            ('updated', self.gf('django.db.models.fields.DateTimeField')(null=True)),
 
27
        ))
 
28
        db.send_create_signal('pybb', ['Forum'])
 
29
 
 
30
        # Adding M2M table for field moderators on 'Forum'
 
31
        db.create_table('pybb_forum_moderators', (
 
32
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
 
33
            ('forum', models.ForeignKey(orm['pybb.forum'], null=False)),
 
34
            ('user', models.ForeignKey(orm['auth.user'], null=False))
 
35
        ))
 
36
        db.create_unique('pybb_forum_moderators', ['forum_id', 'user_id'])
 
37
 
 
38
        # Adding model 'Topic'
 
39
        db.create_table('pybb_topic', (
 
40
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
 
41
            ('forum', self.gf('django.db.models.fields.related.ForeignKey')(related_name='topics', to=orm['pybb.Forum'])),
 
42
            ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
 
43
            ('created', self.gf('django.db.models.fields.DateTimeField')(null=True)),
 
44
            ('updated', self.gf('django.db.models.fields.DateTimeField')(null=True)),
 
45
            ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
 
46
            ('views', self.gf('django.db.models.fields.IntegerField')(default=0, blank=True)),
 
47
            ('sticky', self.gf('django.db.models.fields.BooleanField')(default=False)),
 
48
            ('closed', self.gf('django.db.models.fields.BooleanField')(default=False)),
 
49
            ('post_count', self.gf('django.db.models.fields.IntegerField')(default=0, blank=True)),
 
50
        ))
 
51
        db.send_create_signal('pybb', ['Topic'])
 
52
 
 
53
        # Adding M2M table for field subscribers on 'Topic'
 
54
        db.create_table('pybb_topic_subscribers', (
 
55
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
 
56
            ('topic', models.ForeignKey(orm['pybb.topic'], null=False)),
 
57
            ('user', models.ForeignKey(orm['auth.user'], null=False))
 
58
        ))
 
59
        db.create_unique('pybb_topic_subscribers', ['topic_id', 'user_id'])
 
60
 
 
61
        # Adding model 'Post'
 
62
        db.create_table('pybb_post', (
 
63
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
 
64
            ('topic', self.gf('django.db.models.fields.related.ForeignKey')(related_name='posts', to=orm['pybb.Topic'])),
 
65
            ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='posts', to=orm['auth.User'])),
 
66
            ('created', self.gf('django.db.models.fields.DateTimeField')(blank=True)),
 
67
            ('updated', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
 
68
            ('markup', self.gf('django.db.models.fields.CharField')(default='markdown', max_length=15)),
 
69
            ('body', self.gf('django.db.models.fields.TextField')()),
 
70
            ('body_html', self.gf('django.db.models.fields.TextField')()),
 
71
            ('body_text', self.gf('django.db.models.fields.TextField')()),
 
72
            ('user_ip', self.gf('django.db.models.fields.IPAddressField')(default='', max_length=15, blank=True)),
 
73
        ))
 
74
        db.send_create_signal('pybb', ['Post'])
 
75
 
 
76
        # Adding model 'Read'
 
77
        db.create_table('pybb_read', (
 
78
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
 
79
            ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
 
80
            ('topic', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['pybb.Topic'])),
 
81
            ('time', self.gf('django.db.models.fields.DateTimeField')(blank=True)),
 
82
        ))
 
83
        db.send_create_signal('pybb', ['Read'])
 
84
 
 
85
        # Adding unique constraint on 'Read', fields ['user', 'topic']
 
86
        db.create_unique('pybb_read', ['user_id', 'topic_id'])
 
87
 
 
88
        # Adding model 'PrivateMessage'
 
89
        db.create_table('pybb_privatemessage', (
 
90
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
 
91
            ('dst_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='dst_users', to=orm['auth.User'])),
 
92
            ('src_user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='src_users', to=orm['auth.User'])),
 
93
            ('read', self.gf('django.db.models.fields.BooleanField')(default=False)),
 
94
            ('created', self.gf('django.db.models.fields.DateTimeField')(blank=True)),
 
95
            ('markup', self.gf('django.db.models.fields.CharField')(default='markdown', max_length=15)),
 
96
            ('subject', self.gf('django.db.models.fields.CharField')(max_length=255)),
 
97
            ('body', self.gf('django.db.models.fields.TextField')()),
 
98
            ('body_html', self.gf('django.db.models.fields.TextField')()),
 
99
            ('body_text', self.gf('django.db.models.fields.TextField')()),
 
100
        ))
 
101
        db.send_create_signal('pybb', ['PrivateMessage'])
 
102
 
 
103
        # Adding model 'Attachment'
 
104
        db.create_table('pybb_attachment', (
 
105
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
 
106
            ('post', self.gf('django.db.models.fields.related.ForeignKey')(related_name='attachments', to=orm['pybb.Post'])),
 
107
            ('size', self.gf('django.db.models.fields.IntegerField')()),
 
108
            ('content_type', self.gf('django.db.models.fields.CharField')(max_length=255)),
 
109
            ('path', self.gf('django.db.models.fields.CharField')(max_length=255)),
 
110
            ('name', self.gf('django.db.models.fields.TextField')()),
 
111
            ('hash', self.gf('django.db.models.fields.CharField')(default='', max_length=40, db_index=True, blank=True)),
 
112
        ))
 
113
        db.send_create_signal('pybb', ['Attachment'])
 
114
 
 
115
 
 
116
    def backwards(self, orm):
 
117
        
 
118
        # Removing unique constraint on 'Read', fields ['user', 'topic']
 
119
        db.delete_unique('pybb_read', ['user_id', 'topic_id'])
 
120
 
 
121
        # Deleting model 'Category'
 
122
        db.delete_table('pybb_category')
 
123
 
 
124
        # Deleting model 'Forum'
 
125
        db.delete_table('pybb_forum')
 
126
 
 
127
        # Removing M2M table for field moderators on 'Forum'
 
128
        db.delete_table('pybb_forum_moderators')
 
129
 
 
130
        # Deleting model 'Topic'
 
131
        db.delete_table('pybb_topic')
 
132
 
 
133
        # Removing M2M table for field subscribers on 'Topic'
 
134
        db.delete_table('pybb_topic_subscribers')
 
135
 
 
136
        # Deleting model 'Post'
 
137
        db.delete_table('pybb_post')
 
138
 
 
139
        # Deleting model 'Read'
 
140
        db.delete_table('pybb_read')
 
141
 
 
142
        # Deleting model 'PrivateMessage'
 
143
        db.delete_table('pybb_privatemessage')
 
144
 
 
145
        # Deleting model 'Attachment'
 
146
        db.delete_table('pybb_attachment')
 
147
 
 
148
 
 
149
    models = {
 
150
        'auth.group': {
 
151
            'Meta': {'object_name': 'Group'},
 
152
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
153
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
 
154
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
 
155
        },
 
156
        'auth.permission': {
 
157
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
 
158
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
 
159
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
 
160
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
161
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
 
162
        },
 
163
        'auth.user': {
 
164
            'Meta': {'object_name': 'User'},
 
165
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
 
166
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
 
167
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
 
168
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
 
169
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
170
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
 
171
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
 
172
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
 
173
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
 
174
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
 
175
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
 
176
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
 
177
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
 
178
        },
 
179
        'contenttypes.contenttype': {
 
180
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
 
181
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
 
182
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
183
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
 
184
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
 
185
        },
 
186
        'pybb.attachment': {
 
187
            'Meta': {'object_name': 'Attachment'},
 
188
            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
 
189
            'hash': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '40', 'db_index': 'True', 'blank': 'True'}),
 
190
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
191
            'name': ('django.db.models.fields.TextField', [], {}),
 
192
            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
 
193
            'post': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'attachments'", 'to': "orm['pybb.Post']"}),
 
194
            'size': ('django.db.models.fields.IntegerField', [], {})
 
195
        },
 
196
        'pybb.category': {
 
197
            'Meta': {'ordering': "['position']", 'object_name': 'Category'},
 
198
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
199
            'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
 
200
            'position': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'})
 
201
        },
 
202
        'pybb.forum': {
 
203
            'Meta': {'ordering': "['position']", 'object_name': 'Forum'},
 
204
            'category': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'forums'", 'to': "orm['pybb.Category']"}),
 
205
            'description': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
 
206
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
207
            'moderators': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
 
208
            'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
 
209
            'position': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
 
210
            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True'})
 
211
        },
 
212
        'pybb.post': {
 
213
            'Meta': {'ordering': "['created']", 'object_name': 'Post'},
 
214
            'body': ('django.db.models.fields.TextField', [], {}),
 
215
            'body_html': ('django.db.models.fields.TextField', [], {}),
 
216
            'body_text': ('django.db.models.fields.TextField', [], {}),
 
217
            'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
 
218
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
219
            'markup': ('django.db.models.fields.CharField', [], {'default': "'markdown'", 'max_length': '15'}),
 
220
            'topic': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'posts'", 'to': "orm['pybb.Topic']"}),
 
221
            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
 
222
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'posts'", 'to': "orm['auth.User']"}),
 
223
            'user_ip': ('django.db.models.fields.IPAddressField', [], {'default': "''", 'max_length': '15', 'blank': 'True'})
 
224
        },
 
225
        'pybb.privatemessage': {
 
226
            'Meta': {'ordering': "['-created']", 'object_name': 'PrivateMessage'},
 
227
            'body': ('django.db.models.fields.TextField', [], {}),
 
228
            'body_html': ('django.db.models.fields.TextField', [], {}),
 
229
            'body_text': ('django.db.models.fields.TextField', [], {}),
 
230
            'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
 
231
            'dst_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dst_users'", 'to': "orm['auth.User']"}),
 
232
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
233
            'markup': ('django.db.models.fields.CharField', [], {'default': "'markdown'", 'max_length': '15'}),
 
234
            'read': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
 
235
            'src_user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'src_users'", 'to': "orm['auth.User']"}),
 
236
            'subject': ('django.db.models.fields.CharField', [], {'max_length': '255'})
 
237
        },
 
238
        'pybb.read': {
 
239
            'Meta': {'unique_together': "(['user', 'topic'],)", 'object_name': 'Read'},
 
240
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
241
            'time': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
 
242
            'topic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['pybb.Topic']"}),
 
243
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
 
244
        },
 
245
        'pybb.topic': {
 
246
            'Meta': {'ordering': "['-updated']", 'object_name': 'Topic'},
 
247
            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
 
248
            'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
 
249
            'forum': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'topics'", 'to': "orm['pybb.Forum']"}),
 
250
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
 
251
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
 
252
            'post_count': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
 
253
            'sticky': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
 
254
            'subscribers': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'subscriptions'", 'blank': 'True', 'to': "orm['auth.User']"}),
 
255
            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
 
256
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
 
257
            'views': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'})
 
258
        }
 
259
    }
 
260
 
 
261
    complete_apps = ['pybb']