Statistics
| Branch: | Tag: | Revision:

root / flowspec / migrations / 0001_initial.py @ a3af8464

History | View | Annotate | Download (19.8 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
class Migration(SchemaMigration):
8
    
9
    def forwards(self, orm):
10
        
11
        # Adding model 'MatchAddress'
12
        db.create_table(u'match_address', (
13
            ('destination', self.gf('django.db.models.fields.CharField')(max_length=255)),
14
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
15
        ))
16
        db.send_create_signal('flowspec', ['MatchAddress'])
17

    
18
        # Adding model 'MatchPort'
19
        db.create_table(u'match_port', (
20
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
21
            ('port', self.gf('django.db.models.fields.CharField')(max_length=24)),
22
        ))
23
        db.send_create_signal('flowspec', ['MatchPort'])
24

    
25
        # Adding model 'MatchDscp'
26
        db.create_table(u'match_dscp', (
27
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
28
            ('dscp', self.gf('django.db.models.fields.CharField')(max_length=24)),
29
        ))
30
        db.send_create_signal('flowspec', ['MatchDscp'])
31

    
32
        # Adding model 'MatchFragmentType'
33
        db.create_table(u'match_fragment_type', (
34
            ('fragmenttype', self.gf('django.db.models.fields.CharField')(max_length=20)),
35
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
36
        ))
37
        db.send_create_signal('flowspec', ['MatchFragmentType'])
38

    
39
        # Adding model 'MatchIcmpCode'
40
        db.create_table(u'match_icmp_code', (
41
            ('icmp_code', self.gf('django.db.models.fields.CharField')(max_length=64)),
42
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
43
        ))
44
        db.send_create_signal('flowspec', ['MatchIcmpCode'])
45

    
46
        # Adding model 'MatchIcmpType'
47
        db.create_table(u'match_icmp_type', (
48
            ('icmp_type', self.gf('django.db.models.fields.CharField')(max_length=64)),
49
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
50
        ))
51
        db.send_create_signal('flowspec', ['MatchIcmpType'])
52

    
53
        # Adding model 'MatchPacketLength'
54
        db.create_table(u'match_packet_length', (
55
            ('packet_length', self.gf('django.db.models.fields.IntegerField')()),
56
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
57
        ))
58
        db.send_create_signal('flowspec', ['MatchPacketLength'])
59

    
60
        # Adding model 'MatchProtocol'
61
        db.create_table(u'match_protocol', (
62
            ('protocol', self.gf('django.db.models.fields.CharField')(max_length=64)),
63
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
64
        ))
65
        db.send_create_signal('flowspec', ['MatchProtocol'])
66

    
67
        # Adding model 'MatchTcpFlag'
68
        db.create_table(u'match_tcp_flag', (
69
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
70
            ('tcp_flag', self.gf('django.db.models.fields.CharField')(max_length=255)),
71
        ))
72
        db.send_create_signal('flowspec', ['MatchTcpFlag'])
73

    
74
        # Adding model 'ThenAction'
75
        db.create_table(u'then_action', (
76
            ('action', self.gf('django.db.models.fields.CharField')(max_length=60)),
77
            ('action_value', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
78
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
79
        ))
80
        db.send_create_signal('flowspec', ['ThenAction'])
81

    
82
        # Adding model 'ThenStatement'
83
        db.create_table(u'then', (
84
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
85
        ))
86
        db.send_create_signal('flowspec', ['ThenStatement'])
87

    
88
        # Adding M2M table for field thenaction on 'ThenStatement'
89
        db.create_table(u'then_thenaction', (
90
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
91
            ('thenstatement', models.ForeignKey(orm['flowspec.thenstatement'], null=False)),
92
            ('thenaction', models.ForeignKey(orm['flowspec.thenaction'], null=False))
93
        ))
94
        db.create_unique(u'then_thenaction', ['thenstatement_id', 'thenaction_id'])
95

    
96
        # Adding model 'MatchStatement'
97
        db.create_table(u'match', (
98
            ('matchfragmenttype', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.MatchFragmentType'], null=True, blank=True)),
99
            ('matchprotocol', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.MatchProtocol'], null=True, blank=True)),
100
            ('matchicmptype', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.MatchIcmpType'], null=True, blank=True)),
101
            ('matchSourcePort', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='matchSourcePort', null=True, to=orm['flowspec.MatchPort'])),
102
            ('matchicmpcode', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.MatchIcmpCode'], null=True, blank=True)),
103
            ('matchTcpFlag', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.MatchTcpFlag'], null=True, blank=True)),
104
            ('matchDestination', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='matchDestination', null=True, to=orm['flowspec.MatchAddress'])),
105
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
106
            ('matchpacketlength', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.MatchPacketLength'], null=True, blank=True)),
107
        ))
108
        db.send_create_signal('flowspec', ['MatchStatement'])
109

    
110
        # Adding M2M table for field matchDestinationPort on 'MatchStatement'
111
        db.create_table(u'match_matchDestinationPort', (
112
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
113
            ('matchstatement', models.ForeignKey(orm['flowspec.matchstatement'], null=False)),
114
            ('matchport', models.ForeignKey(orm['flowspec.matchport'], null=False))
115
        ))
116
        db.create_unique(u'match_matchDestinationPort', ['matchstatement_id', 'matchport_id'])
117

    
118
        # Adding M2M table for field matchSource on 'MatchStatement'
119
        db.create_table(u'match_matchSource', (
120
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
121
            ('matchstatement', models.ForeignKey(orm['flowspec.matchstatement'], null=False)),
122
            ('matchaddress', models.ForeignKey(orm['flowspec.matchaddress'], null=False))
123
        ))
124
        db.create_unique(u'match_matchSource', ['matchstatement_id', 'matchaddress_id'])
125

    
126
        # Adding M2M table for field matchdscp on 'MatchStatement'
127
        db.create_table(u'match_matchdscp', (
128
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
129
            ('matchstatement', models.ForeignKey(orm['flowspec.matchstatement'], null=False)),
130
            ('matchdscp', models.ForeignKey(orm['flowspec.matchdscp'], null=False))
131
        ))
132
        db.create_unique(u'match_matchdscp', ['matchstatement_id', 'matchdscp_id'])
133

    
134
        # Adding M2M table for field matchport on 'MatchStatement'
135
        db.create_table(u'match_matchport', (
136
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
137
            ('matchstatement', models.ForeignKey(orm['flowspec.matchstatement'], null=False)),
138
            ('matchport', models.ForeignKey(orm['flowspec.matchport'], null=False))
139
        ))
140
        db.create_unique(u'match_matchport', ['matchstatement_id', 'matchport_id'])
141

    
142
        # Adding model 'Route'
143
        db.create_table(u'route', (
144
            ('then', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.ThenStatement'])),
145
            ('last_updated', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
146
            ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
147
            ('expires', self.gf('django.db.models.fields.DateTimeField')()),
148
            ('applier', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
149
            ('filed', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
150
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
151
            ('match', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['flowspec.MatchStatement'])),
152
        ))
153
        db.send_create_signal('flowspec', ['Route'])
154
    
155
    
156
    def backwards(self, orm):
157
        
158
        # Deleting model 'MatchAddress'
159
        db.delete_table(u'match_address')
160

    
161
        # Deleting model 'MatchPort'
162
        db.delete_table(u'match_port')
163

    
164
        # Deleting model 'MatchDscp'
165
        db.delete_table(u'match_dscp')
166

    
167
        # Deleting model 'MatchFragmentType'
168
        db.delete_table(u'match_fragment_type')
169

    
170
        # Deleting model 'MatchIcmpCode'
171
        db.delete_table(u'match_icmp_code')
172

    
173
        # Deleting model 'MatchIcmpType'
174
        db.delete_table(u'match_icmp_type')
175

    
176
        # Deleting model 'MatchPacketLength'
177
        db.delete_table(u'match_packet_length')
178

    
179
        # Deleting model 'MatchProtocol'
180
        db.delete_table(u'match_protocol')
181

    
182
        # Deleting model 'MatchTcpFlag'
183
        db.delete_table(u'match_tcp_flag')
184

    
185
        # Deleting model 'ThenAction'
186
        db.delete_table(u'then_action')
187

    
188
        # Deleting model 'ThenStatement'
189
        db.delete_table(u'then')
190

    
191
        # Removing M2M table for field thenaction on 'ThenStatement'
192
        db.delete_table('then_thenaction')
193

    
194
        # Deleting model 'MatchStatement'
195
        db.delete_table(u'match')
196

    
197
        # Removing M2M table for field matchDestinationPort on 'MatchStatement'
198
        db.delete_table('match_matchDestinationPort')
199

    
200
        # Removing M2M table for field matchSource on 'MatchStatement'
201
        db.delete_table('match_matchSource')
202

    
203
        # Removing M2M table for field matchdscp on 'MatchStatement'
204
        db.delete_table('match_matchdscp')
205

    
206
        # Removing M2M table for field matchport on 'MatchStatement'
207
        db.delete_table('match_matchport')
208

    
209
        # Deleting model 'Route'
210
        db.delete_table(u'route')
211
    
212
    
213
    models = {
214
        'auth.group': {
215
            'Meta': {'object_name': 'Group'},
216
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
217
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
218
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
219
        },
220
        'auth.permission': {
221
            'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
222
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
223
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
224
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
225
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
226
        },
227
        'auth.user': {
228
            'Meta': {'object_name': 'User'},
229
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
230
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
231
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
232
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
233
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
234
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
235
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
236
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
237
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
238
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
239
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
240
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
241
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
242
        },
243
        'contenttypes.contenttype': {
244
            'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
245
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
246
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
247
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
248
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
249
        },
250
        'flowspec.matchaddress': {
251
            'Meta': {'object_name': 'MatchAddress', 'db_table': "u'match_address'"},
252
            'destination': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
253
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
254
        },
255
        'flowspec.matchdscp': {
256
            'Meta': {'object_name': 'MatchDscp', 'db_table': "u'match_dscp'"},
257
            'dscp': ('django.db.models.fields.CharField', [], {'max_length': '24'}),
258
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
259
        },
260
        'flowspec.matchfragmenttype': {
261
            'Meta': {'object_name': 'MatchFragmentType', 'db_table': "u'match_fragment_type'"},
262
            'fragmenttype': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
263
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
264
        },
265
        'flowspec.matchicmpcode': {
266
            'Meta': {'object_name': 'MatchIcmpCode', 'db_table': "u'match_icmp_code'"},
267
            'icmp_code': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
268
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
269
        },
270
        'flowspec.matchicmptype': {
271
            'Meta': {'object_name': 'MatchIcmpType', 'db_table': "u'match_icmp_type'"},
272
            'icmp_type': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
273
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
274
        },
275
        'flowspec.matchpacketlength': {
276
            'Meta': {'object_name': 'MatchPacketLength', 'db_table': "u'match_packet_length'"},
277
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
278
            'packet_length': ('django.db.models.fields.IntegerField', [], {})
279
        },
280
        'flowspec.matchport': {
281
            'Meta': {'object_name': 'MatchPort', 'db_table': "u'match_port'"},
282
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
283
            'port': ('django.db.models.fields.CharField', [], {'max_length': '24'})
284
        },
285
        'flowspec.matchprotocol': {
286
            'Meta': {'object_name': 'MatchProtocol', 'db_table': "u'match_protocol'"},
287
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
288
            'protocol': ('django.db.models.fields.CharField', [], {'max_length': '64'})
289
        },
290
        'flowspec.matchstatement': {
291
            'Meta': {'object_name': 'MatchStatement', 'db_table': "u'match'"},
292
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
293
            'matchDestination': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'matchDestination'", 'null': 'True', 'to': "orm['flowspec.MatchAddress']"}),
294
            'matchDestinationPort': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'matchDestinationPort'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['flowspec.MatchPort']"}),
295
            'matchSource': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'matchSource'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['flowspec.MatchAddress']"}),
296
            'matchSourcePort': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'matchSourcePort'", 'null': 'True', 'to': "orm['flowspec.MatchPort']"}),
297
            'matchTcpFlag': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.MatchTcpFlag']", 'null': 'True', 'blank': 'True'}),
298
            'matchdscp': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['flowspec.MatchDscp']", 'null': 'True', 'blank': 'True'}),
299
            'matchfragmenttype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.MatchFragmentType']", 'null': 'True', 'blank': 'True'}),
300
            'matchicmpcode': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.MatchIcmpCode']", 'null': 'True', 'blank': 'True'}),
301
            'matchicmptype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.MatchIcmpType']", 'null': 'True', 'blank': 'True'}),
302
            'matchpacketlength': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.MatchPacketLength']", 'null': 'True', 'blank': 'True'}),
303
            'matchport': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['flowspec.MatchPort']", 'null': 'True', 'blank': 'True'}),
304
            'matchprotocol': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.MatchProtocol']", 'null': 'True', 'blank': 'True'})
305
        },
306
        'flowspec.matchtcpflag': {
307
            'Meta': {'object_name': 'MatchTcpFlag', 'db_table': "u'match_tcp_flag'"},
308
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
309
            'tcp_flag': ('django.db.models.fields.CharField', [], {'max_length': '255'})
310
        },
311
        'flowspec.route': {
312
            'Meta': {'object_name': 'Route', 'db_table': "u'route'"},
313
            'applier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
314
            'expires': ('django.db.models.fields.DateTimeField', [], {}),
315
            'filed': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
316
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
317
            'last_updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
318
            'match': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.MatchStatement']"}),
319
            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
320
            'then': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['flowspec.ThenStatement']"})
321
        },
322
        'flowspec.thenaction': {
323
            'Meta': {'object_name': 'ThenAction', 'db_table': "u'then_action'"},
324
            'action': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
325
            'action_value': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
326
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
327
        },
328
        'flowspec.thenstatement': {
329
            'Meta': {'object_name': 'ThenStatement', 'db_table': "u'then'"},
330
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
331
            'thenaction': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['flowspec.ThenAction']", 'null': 'True', 'blank': 'True'})
332
        }
333
    }
334
    
335
    complete_apps = ['flowspec']