Revision f10a0657

b/snf-cyclades-app/Changelog
4 4
v0.9.2
5 5
------
6 6
* ui.userdata migration fixes
7
* new synnefo.db migrations (fixes constrain issues)
7 8

  
8 9

  
9 10
v0.9.1
b/snf-cyclades-app/synnefo/db/migrations/0032_auto__del_unique_flavor_disk_ram_cpu__add_unique_flavor_disk_ram_cpu_d.py
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
        try:
12
            # Removing unique constraint on 'Flavor', fields ['disk', 'ram', 'cpu']
13
            db.delete_unique('db_flavor', ['disk', 'ram', 'cpu'])
14
        except:
15
            pass
16

  
17
        try:
18
            # Adding unique constraint on 'Flavor', fields ['disk', 'ram', 'cpu', 'disk_template']
19
            db.create_unique('db_flavor', ['disk', 'ram', 'cpu', 'disk_template'])
20
        except:
21
            pass
22

  
23

  
24
    def backwards(self, orm):
25

  
26
        try:
27
            # Removing unique constraint on 'Flavor', fields ['disk', 'ram', 'cpu', 'disk_template']
28
            db.delete_unique('db_flavor', ['disk', 'ram', 'cpu', 'disk_template'])
29
        except:
30
            pass
31

  
32
        try:
33
            # Adding unique constraint on 'Flavor', fields ['disk', 'ram', 'cpu']
34
            db.create_unique('db_flavor', ['disk', 'ram', 'cpu'])
35
        except:
36
            pass
37

  
38

  
39
    models = {
40
        'db.flavor': {
41
            'Meta': {'unique_together': "(('cpu', 'ram', 'disk', 'disk_template'),)", 'object_name': 'Flavor'},
42
            'cpu': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
43
            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
44
            'disk': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
45
            'disk_template': ('django.db.models.fields.CharField', [], {'default': "'drbd'", 'max_length': '32'}),
46
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
47
            'ram': ('django.db.models.fields.IntegerField', [], {'default': '0'})
48
        },
49
        'db.network': {
50
            'Meta': {'object_name': 'Network'},
51
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
52
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
53
            'link': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['db.NetworkLink']"}),
54
            'machines': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['db.VirtualMachine']", 'through': "orm['db.NetworkInterface']", 'symmetrical': 'False'}),
55
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
56
            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
57
            'state': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
58
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
59
            'userid': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
60
        },
61
        'db.networkinterface': {
62
            'Meta': {'object_name': 'NetworkInterface'},
63
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
64
            'firewall_profile': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
65
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
66
            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
67
            'ipv4': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True'}),
68
            'ipv6': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'}),
69
            'mac': ('django.db.models.fields.CharField', [], {'max_length': '17', 'null': 'True'}),
70
            'machine': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nics'", 'to': "orm['db.VirtualMachine']"}),
71
            'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nics'", 'to': "orm['db.Network']"}),
72
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
73
        },
74
        'db.networklink': {
75
            'Meta': {'object_name': 'NetworkLink'},
76
            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
77
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
78
            'index': ('django.db.models.fields.IntegerField', [], {}),
79
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
80
            'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['db.Network']"})
81
        },
82
        'db.virtualmachine': {
83
            'Meta': {'object_name': 'VirtualMachine'},
84
            'action': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
85
            'backendjobid': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
86
            'backendjobstatus': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
87
            'backendlogmsg': ('django.db.models.fields.TextField', [], {'null': 'True'}),
88
            'backendopcode': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
89
            'buildpercentage': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
90
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
91
            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
92
            'flavor': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['db.Flavor']"}),
93
            'hostid': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
94
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
95
            'imageid': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
96
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
97
            'operstate': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
98
            'suspended': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
99
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
100
            'userid': ('django.db.models.fields.CharField', [], {'max_length': '100'})
101
        },
102
        'db.virtualmachinemetadata': {
103
            'Meta': {'unique_together': "(('meta_key', 'vm'),)", 'object_name': 'VirtualMachineMetadata'},
104
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
105
            'meta_key': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
106
            'meta_value': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
107
            'vm': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'metadata'", 'to': "orm['db.VirtualMachine']"})
108
        }
109
    }
110

  
111
    complete_apps = ['db']

Also available in: Unified diff