source: trunk/sara_cmt/sara_cmt/cluster/migrations/0024_auto__del_unique_interface_ip_network.py @ 13029

Last change on this file since 13029 was 13029, checked in by sil, 13 years ago

Changed some constraints for interface-table. See #is:168

File size: 18.7 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        # Removing unique constraint on 'Interface', fields ['ip', 'network']
12        db.delete_unique('cluster_interface', ['ip', 'network_id'])
13
14
15    def backwards(self, orm):
16       
17        # Adding unique constraint on 'Interface', fields ['ip', 'network']
18        db.create_unique('cluster_interface', ['ip', 'network_id'])
19
20
21    models = {
22        'cluster.address': {
23            'Meta': {'unique_together': "(('address', 'city'),)", 'object_name': 'Address'},
24            'address': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
25            'city': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
26            'country': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'addresses'", 'null': 'True', 'to': "orm['cluster.Country']"}),
27            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
28            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
29            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
30            'postalcode': ('django.db.models.fields.CharField', [], {'max_length': '9', 'blank': 'True'}),
31            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
32            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
33        },
34        'cluster.cluster': {
35            'Meta': {'object_name': 'Cluster'},
36            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
37            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
38            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
39            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
40            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
41            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
42        },
43        'cluster.company': {
44            'Meta': {'object_name': 'Company'},
45            'addresses': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'_companies'", 'symmetrical': 'False', 'to': "orm['cluster.Address']"}),
46            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
47            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
48            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
49            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
50            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
51            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
52            'website': ('django.db.models.fields.URLField', [], {'max_length': '200'})
53        },
54        'cluster.connection': {
55            'Meta': {'unique_together': "(('company', 'name'),)", 'object_name': 'Connection'},
56            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
57            'address': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'connections'", 'null': 'True', 'to': "orm['cluster.Address']"}),
58            'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'companies'", 'to': "orm['cluster.Company']"}),
59            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
60            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
61            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
62            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
63            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
64            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
65            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
66        },
67        'cluster.country': {
68            'Meta': {'object_name': 'Country'},
69            'country_code': ('django.db.models.fields.PositiveIntegerField', [], {'unique': 'True'}),
70            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
71            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
72            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
73            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
74            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
75            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
76        },
77        'cluster.hardwaremodel': {
78            'Meta': {'object_name': 'HardwareModel'},
79            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
80            'expansions': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
81            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
82            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
83            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
84            'rackspace': ('django.db.models.fields.PositiveIntegerField', [], {}),
85            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
86            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
87            'vendor': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'model specifications'", 'to': "orm['cluster.Company']"}),
88            'vendorcode': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True', 'blank': 'True'})
89        },
90        'cluster.hardwareunit': {
91            'Meta': {'unique_together': "(('rack', 'first_slot'),)", 'object_name': 'HardwareUnit'},
92            'cluster': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'hardware'", 'to': "orm['cluster.Cluster']"}),
93            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
94            'first_slot': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}),
95            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
96            'label': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
97            'network': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'hardware'", 'symmetrical': 'False', 'through': "orm['cluster.Interface']", 'to': "orm['cluster.Network']"}),
98            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
99            'owner': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'owns'", 'null': 'True', 'to': "orm['cluster.Connection']"}),
100            'rack': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'contents'", 'to': "orm['cluster.Rack']"}),
101            'role': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'hardware'", 'symmetrical': 'False', 'to': "orm['cluster.Role']"}),
102            'seller': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sold'", 'null': 'True', 'to': "orm['cluster.Connection']"}),
103            'serial_number': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
104            'specifications': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'hardware'", 'null': 'True', 'to': "orm['cluster.HardwareModel']"}),
105            'state': ('django.db.models.fields.CharField', [], {'default': "'unknown'", 'max_length': '3', 'null': 'True', 'blank': 'True'}),
106            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
107            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
108            'warranty': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'hardware'", 'null': 'True', 'to': "orm['cluster.WarrantyContract']"}),
109            'warranty_tag': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True', 'blank': 'True'})
110        },
111        'cluster.interface': {
112            'Meta': {'unique_together': "(('network', 'hwaddress'),)", 'object_name': 'Interface'},
113            'aliases': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
114            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
115            'host': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'interfaces'", 'to': "orm['cluster.HardwareUnit']"}),
116            'hwaddress': ('django.db.models.fields.CharField', [], {'max_length': '17', 'null': 'True', 'blank': 'True'}),
117            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
118            'iftype': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'interfaces'", 'to': "orm['cluster.InterfaceType']"}),
119            'ip': ('django.db.models.fields.IPAddressField', [], {'max_length': '15', 'blank': 'True'}),
120            'label': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
121            'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'interfaces'", 'to': "orm['cluster.Network']"}),
122            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
123            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
124            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
125        },
126        'cluster.interfacetype': {
127            'Meta': {'object_name': 'InterfaceType'},
128            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
129            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
130            'label': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
131            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
132            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
133            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
134            'vendor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'interfaces'", 'null': 'True', 'to': "orm['cluster.Company']"})
135        },
136        'cluster.network': {
137            'Meta': {'object_name': 'Network'},
138            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
139            'domain': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
140            'gateway': ('django.db.models.fields.IPAddressField', [], {'max_length': '15', 'blank': 'True'}),
141            'hostnames': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
142            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
143            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
144            'netaddress': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}),
145            'netmask': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}),
146            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
147            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
148            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
149            'vlan': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '3', 'null': 'True', 'blank': 'True'})
150        },
151        'cluster.rack': {
152            'Meta': {'unique_together': "(('room', 'label'),)", 'object_name': 'Rack'},
153            'capacity': ('django.db.models.fields.PositiveIntegerField', [], {}),
154            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
155            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
156            'label': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'db_index': 'True'}),
157            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
158            'room': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'racks'", 'to': "orm['cluster.Room']"}),
159            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
160            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
161        },
162        'cluster.role': {
163            'Meta': {'object_name': 'Role'},
164            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
165            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
166            'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
167            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
168            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
169            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
170        },
171        'cluster.room': {
172            'Meta': {'unique_together': "(('address', 'floor', 'label'),)", 'object_name': 'Room'},
173            'address': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rooms'", 'to': "orm['cluster.Address']"}),
174            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
175            'floor': ('django.db.models.fields.IntegerField', [], {'max_length': '2'}),
176            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
177            'label': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
178            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
179            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
180            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
181        },
182        'cluster.telephonenumber': {
183            'Meta': {'object_name': 'Telephonenumber'},
184            'areacode': ('django.db.models.fields.CharField', [], {'max_length': '4'}),
185            'connection': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'telephone_numbers'", 'to': "orm['cluster.Connection']"}),
186            'country': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'telephone_numbers'", 'to': "orm['cluster.Country']"}),
187            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
188            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
189            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
190            'number_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
191            'subscriber_number': ('django.db.models.fields.IntegerField', [], {'max_length': '15'}),
192            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
193            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
194        },
195        'cluster.warrantycontract': {
196            'Meta': {'object_name': 'WarrantyContract'},
197            'annual_cost': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2', 'blank': 'True'}),
198            'contract_number': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
199            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
200            'date_from': ('django.db.models.fields.DateField', [], {}),
201            'date_to': ('django.db.models.fields.DateField', [], {}),
202            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
203            'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
204            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
205            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
206            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
207            'warranty_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'contracts'", 'null': 'True', 'to': "orm['cluster.WarrantyType']"})
208        },
209        'cluster.warrantytype': {
210            'Meta': {'object_name': 'WarrantyType'},
211            'contact': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'warranty types'", 'to': "orm['cluster.Connection']"}),
212            'created_on': ('django_extensions.db.fields.CreationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
213            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
214            'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
215            'note': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
216            'tags': ('tagging.fields.TagField', [], {'default': "''"}),
217            'updated_on': ('django_extensions.db.fields.ModificationDateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'})
218        }
219    }
220
221    complete_apps = ['cluster']
Note: See TracBrowser for help on using the repository browser.