github.com/inflatablewoman/deis@v1.0.1-0.20141111034523-a4511c46a6ce/controller/api/south_migrations/0015_migration_config_defaults.py (about) 1 # -*- coding: utf-8 -*- 2 from south.utils import datetime_utils as datetime 3 from south.db import db 4 from south.v2 import DataMigration 5 from django.db import models 6 7 class Migration(DataMigration): 8 9 def forwards(self, orm): 10 "Set empty Config fields to an empty dict." 11 configs = orm.Config.objects.all() 12 for c in configs: 13 for f in ('memory', 'cpu', 'tags'): 14 v = getattr(c, f) 15 if v == '{}': 16 setattr(c, f, {}) 17 c.save() 18 19 def backwards(self, orm): 20 pass 21 22 models = { 23 u'api.app': { 24 'Meta': {'object_name': 'App'}, 25 'cluster': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.Cluster']"}), 26 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 27 'id': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '64'}), 28 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 29 'structure': ('json_field.fields.JSONField', [], {'default': '{}', 'blank': 'True'}), 30 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 31 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}) 32 }, 33 u'api.build': { 34 'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'uuid'),)", 'object_name': 'Build'}, 35 'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}), 36 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 37 'dockerfile': ('django.db.models.fields.TextField', [], {'blank': 'True'}), 38 'image': ('django.db.models.fields.CharField', [], {'max_length': '256'}), 39 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 40 'procfile': ('json_field.fields.JSONField', [], {'default': '{}', 'blank': 'True'}), 41 'sha': ('django.db.models.fields.CharField', [], {'max_length': '40', 'blank': 'True'}), 42 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 43 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}) 44 }, 45 u'api.cluster': { 46 'Meta': {'object_name': 'Cluster'}, 47 'auth': ('django.db.models.fields.TextField', [], {}), 48 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 49 'domain': ('django.db.models.fields.CharField', [], {'max_length': '128'}), 50 'hosts': ('django.db.models.fields.CharField', [], {'max_length': '256'}), 51 'id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}), 52 'options': ('json_field.fields.JSONField', [], {'default': '{}', 'blank': 'True'}), 53 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 54 'type': ('django.db.models.fields.CharField', [], {'default': "u'coreos'", 'max_length': '16'}), 55 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 56 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}) 57 }, 58 u'api.config': { 59 'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'uuid'),)", 'object_name': 'Config'}, 60 'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}), 61 'cpu': ('json_field.fields.JSONField', [], {'default': '{}', 'blank': 'True'}), 62 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 63 'memory': ('json_field.fields.JSONField', [], {'default': '{}', 'blank': 'True'}), 64 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 65 'tags': ('json_field.fields.JSONField', [], {'default': '{}', 'blank': 'True'}), 66 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 67 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}), 68 'values': ('json_field.fields.JSONField', [], {'default': '{}', 'blank': 'True'}) 69 }, 70 u'api.container': { 71 'Meta': {'ordering': "[u'created']", 'object_name': 'Container'}, 72 'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}), 73 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 74 'num': ('django.db.models.fields.PositiveIntegerField', [], {}), 75 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 76 'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.Release']"}), 77 'state': ('django_fsm.FSMField', [], {'default': "u'initialized'", 'max_length': '50'}), 78 'type': ('django.db.models.fields.CharField', [], {'max_length': '128'}), 79 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 80 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}) 81 }, 82 u'api.domain': { 83 'Meta': {'object_name': 'Domain'}, 84 'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}), 85 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 86 'domain': ('django.db.models.fields.TextField', [], {'unique': 'True'}), 87 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 88 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 89 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) 90 }, 91 u'api.key': { 92 'Meta': {'unique_together': "((u'owner', u'id'),)", 'object_name': 'Key'}, 93 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 94 'id': ('django.db.models.fields.CharField', [], {'max_length': '128'}), 95 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 96 'public': ('django.db.models.fields.TextField', [], {'unique': 'True'}), 97 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 98 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}) 99 }, 100 u'api.push': { 101 'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'uuid'),)", 'object_name': 'Push'}, 102 'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}), 103 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 104 'fingerprint': ('django.db.models.fields.CharField', [], {'max_length': '255'}), 105 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 106 'receive_repo': ('django.db.models.fields.CharField', [], {'max_length': '255'}), 107 'receive_user': ('django.db.models.fields.CharField', [], {'max_length': '255'}), 108 'sha': ('django.db.models.fields.CharField', [], {'max_length': '40'}), 109 'ssh_connection': ('django.db.models.fields.CharField', [], {'max_length': '255'}), 110 'ssh_original_command': ('django.db.models.fields.CharField', [], {'max_length': '255'}), 111 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 112 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}) 113 }, 114 u'api.release': { 115 'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'version'),)", 'object_name': 'Release'}, 116 'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}), 117 'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.Build']"}), 118 'config': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.Config']"}), 119 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 120 'image': ('django.db.models.fields.CharField', [], {'default': "u'deis/helloworld'", 'max_length': '256'}), 121 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}), 122 'summary': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), 123 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), 124 'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}), 125 'version': ('django.db.models.fields.PositiveIntegerField', [], {}) 126 }, 127 u'auth.group': { 128 'Meta': {'object_name': 'Group'}, 129 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 130 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), 131 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) 132 }, 133 u'auth.permission': { 134 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, 135 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), 136 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), 137 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 138 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) 139 }, 140 u'auth.user': { 141 'Meta': {'object_name': 'User'}, 142 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 143 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), 144 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), 145 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), 146 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 147 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), 148 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), 149 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), 150 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 151 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), 152 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), 153 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), 154 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) 155 }, 156 u'contenttypes.contenttype': { 157 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, 158 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), 159 u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 160 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), 161 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) 162 } 163 } 164 165 complete_apps = ['api'] 166 symmetrical = True