Django 1.8 upgrade: migrations
authordurandn
Thu, 30 Apr 2015 13:29:53 +0200
changeset 1368 1d9fc32ec8ab
parent 1367 1b5550516ceb
child 1369 e7cd1595f512
Django 1.8 upgrade: migrations
src/ldt/ldt/ldt_utils/migrations/0001_initial.py
src/ldt/ldt/ldt_utils/migrations/0002_auto_20150423_0935.py
src/ldt/ldt/ldt_utils/migrations/0002_auto_20150430_0951.py
src/ldt/ldt/ldt_utils/migrations/0003_adding_is_owner_group_permission.py
src/ldt/ldt/text/migrations/0001_initial.py
src/ldt/ldt/user/migrations/0001_initial.py
src/ldt/ldt/user/migrations/0002_auto_20150424_1042.py
--- a/src/ldt/ldt/ldt_utils/migrations/0001_initial.py	Tue Apr 28 15:43:41 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/migrations/0001_initial.py	Thu Apr 30 13:29:53 2015 +0200
@@ -20,71 +20,65 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('handle', models.CharField(max_length=255, unique=True, null=True, blank=True)),
-                ('email', models.EmailField(max_length=75, null=True, blank=True)),
+                ('email', models.EmailField(max_length=254, null=True, blank=True)),
                 ('firstname', models.CharField(max_length=512, null=True, blank=True)),
                 ('lastname', models.CharField(max_length=512, null=True, blank=True)),
             ],
             options={
                 'permissions': (('view_author', 'Can view author'),),
             },
-            bases=(models.Model,),
         ),
         migrations.CreateModel(
             name='Content',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('iri_id', models.CharField(default=ldt.ldt_utils.utils.generate_uuid, unique=True, max_length=255, verbose_name='iri id')),
-                ('iriurl', models.CharField(max_length=1024, verbose_name='iri url')),
-                ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='content creation date')),
-                ('update_date', models.DateTimeField(auto_now=True, verbose_name='content update date')),
-                ('title', models.CharField(max_length=1024, null=True, verbose_name='title', blank=True)),
-                ('description', models.TextField(null=True, verbose_name='description', blank=True)),
-                ('duration', models.IntegerField(null=True, verbose_name='duration (ms)', blank=True)),
-                ('content_creation_date', models.DateTimeField(null=True, verbose_name='content creation date', blank=True)),
+                ('iri_id', models.CharField(default=ldt.ldt_utils.utils.generate_uuid, unique=True, max_length=255, verbose_name='content.iri_id')),
+                ('iriurl', models.CharField(max_length=1024, verbose_name='content.iriurl')),
+                ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='content.creation_date')),
+                ('update_date', models.DateTimeField(auto_now=True, verbose_name='content.update_date')),
+                ('title', models.CharField(max_length=1024, null=True, verbose_name='content.title', blank=True)),
+                ('description', models.TextField(null=True, verbose_name='content.description', blank=True)),
+                ('duration', models.IntegerField(null=True, verbose_name='content.duration', blank=True)),
+                ('content_creation_date', models.DateTimeField(null=True, verbose_name='content.content_creation_date', blank=True)),
                 ('image', sorl.thumbnail.fields.ImageField(default=b'thumbnails/contents/content_default_icon.png', max_length=200, upload_to=b'thumbnails/contents/')),
             ],
             options={
                 'ordering': ['title'],
                 'permissions': (('view_content', 'Can view content'),),
             },
-            bases=(models.Model,),
         ),
         migrations.CreateModel(
             name='ContentStat',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('annotation_volume_str', models.CommaSeparatedIntegerField(max_length=1024, null=True, verbose_name='annotation volume', blank=True)),
-                ('polemics_volume_str', models.CommaSeparatedIntegerField(max_length=1024, null=True, verbose_name='Annotation volume', blank=True)),
-                ('nb_annotations', models.IntegerField(default=0, verbose_name='annotation number', db_index=True)),
-                ('last_annotated', models.DateTimeField(default=datetime.datetime.now, null=True, verbose_name='last annotated', blank=True)),
+                ('annotation_volume_str', models.CommaSeparatedIntegerField(max_length=1024, null=True, verbose_name='content_stat.annotations_volume', blank=True)),
+                ('polemics_volume_str', models.CommaSeparatedIntegerField(max_length=1024, null=True, verbose_name='content_stat.polemics_volume', blank=True)),
+                ('nb_annotations', models.IntegerField(default=0, verbose_name='content.nb_annotation', db_index=True)),
+                ('last_annotated', models.DateTimeField(default=datetime.datetime.now, null=True, verbose_name='content.last_annotated', blank=True)),
             ],
-            options={
-            },
-            bases=(models.Model,),
         ),
         migrations.CreateModel(
             name='Media',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('external_id', models.CharField(max_length=1024, null=True, verbose_name='external id', blank=True)),
-                ('external_permalink', models.URLField(max_length=1024, null=True, verbose_name='media permalink', blank=True)),
-                ('external_publication_url', models.URLField(max_length=1024, null=True, verbose_name='media publication url', blank=True)),
-                ('external_src_url', models.CharField(max_length=1024, null=True, verbose_name='media external source url', blank=True)),
-                ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='media object creation date')),
-                ('media_creation_date', models.DateTimeField(null=True, verbose_name='media creation date', blank=True)),
-                ('update_date', models.DateTimeField(auto_now=True, verbose_name='update date')),
-                ('videopath', models.CharField(max_length=1024, null=True, verbose_name='videopath', blank=True)),
-                ('duration', models.IntegerField(null=True, verbose_name='duration (ms)', blank=True)),
+                ('external_id', models.CharField(max_length=1024, null=True, verbose_name='media.external_id', blank=True)),
+                ('external_permalink', models.URLField(max_length=1024, null=True, verbose_name='media.external_permalink', blank=True)),
+                ('external_publication_url', models.URLField(max_length=1024, null=True, verbose_name='media.external_publication_url', blank=True)),
+                ('external_src_url', models.CharField(max_length=1024, null=True, verbose_name='media.external_src_url', blank=True)),
+                ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='media.creation_date')),
+                ('media_creation_date', models.DateTimeField(null=True, verbose_name='media.media_creation_date', blank=True)),
+                ('update_date', models.DateTimeField(auto_now=True, verbose_name='media.update_date')),
+                ('videopath', models.CharField(max_length=1024, null=True, verbose_name='media.videopath', blank=True)),
+                ('duration', models.IntegerField(null=True, verbose_name='media.duration', blank=True)),
                 ('description', models.TextField(null=True, verbose_name='description', blank=True)),
                 ('title', models.CharField(max_length=1024, null=True, verbose_name='title', blank=True)),
-                ('src', models.CharField(max_length=1024, verbose_name='media source')),
-                ('src_hash', models.CharField(unique=True, max_length=128, verbose_name='source hash', blank=True)),
-                ('mimetype_field', models.CharField(max_length=512, null=True, verbose_name='mimetype', blank=True)),
+                ('src', models.CharField(max_length=1024, verbose_name='media.src')),
+                ('src_hash', models.CharField(unique=True, max_length=128, verbose_name='media.src_hash', blank=True)),
+                ('mimetype_field', models.CharField(max_length=512, null=True, verbose_name='media.mimetype', blank=True)),
             ],
             options={
                 'permissions': (('view_media', 'Can view media'),),
             },
-            bases=(models.Model,),
         ),
         migrations.CreateModel(
             name='Project',
@@ -106,7 +100,6 @@
                 'ordering': ['title'],
                 'permissions': (('view_project', 'Can view project'),),
             },
-            bases=(models.Model,),
         ),
         migrations.CreateModel(
             name='Segment',
@@ -134,6 +127,5 @@
             options={
                 'permissions': (('view_segment', 'Can view segment'),),
             },
-            bases=(models.Model,),
         ),
     ]
--- a/src/ldt/ldt/ldt_utils/migrations/0002_auto_20150423_0935.py	Tue Apr 28 15:43:41 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-from django.conf import settings
-import taggit.managers
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('taggit', '0001_initial'),
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-        ('ldt_utils', '0001_initial'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='project',
-            name='owner',
-            field=models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, null=True),
-            preserve_default=True,
-        ),
-        migrations.AddField(
-            model_name='media',
-            name='creator',
-            field=models.ForeignKey(verbose_name='media creator', blank=True, to=settings.AUTH_USER_MODEL, null=True),
-            preserve_default=True,
-        ),
-        migrations.AddField(
-            model_name='contentstat',
-            name='content',
-            field=models.OneToOneField(related_name='stat_annotation', verbose_name='annotation statistics', to='ldt_utils.Content'),
-            preserve_default=True,
-        ),
-        migrations.AddField(
-            model_name='content',
-            name='authors',
-            field=models.ManyToManyField(to='ldt_utils.Author', verbose_name='authors', blank=True),
-            preserve_default=True,
-        ),
-        migrations.AddField(
-            model_name='content',
-            name='front_project',
-            field=models.ForeignKey(blank=True, to='ldt_utils.Project', null=True),
-            preserve_default=True,
-        ),
-        migrations.AddField(
-            model_name='content',
-            name='media_obj',
-            field=models.ForeignKey(blank=True, to='ldt_utils.Media', null=True),
-            preserve_default=True,
-        ),
-        migrations.AddField(
-            model_name='content',
-            name='tags',
-            field=taggit.managers.TaggableManager(to='taggit.Tag', through='taggit.TaggedItem', help_text='A comma-separated list of tags.', verbose_name='Tags'),
-            preserve_default=True,
-        ),
-    ]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/migrations/0002_auto_20150430_0951.py	Thu Apr 30 13:29:53 2015 +0200
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+from django.conf import settings
+import taggit.managers
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('taggit', '0001_initial'),
+        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+        ('ldt_utils', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='project',
+            name='owner',
+            field=models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, null=True),
+        ),
+        migrations.AddField(
+            model_name='media',
+            name='creator',
+            field=models.ForeignKey(verbose_name='media.creator', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+        ),
+        migrations.AddField(
+            model_name='contentstat',
+            name='content',
+            field=models.OneToOneField(related_name='stat_annotation', verbose_name='content_stat.content', to='ldt_utils.Content'),
+        ),
+        migrations.AddField(
+            model_name='content',
+            name='authors',
+            field=models.ManyToManyField(to='ldt_utils.Author', verbose_name='content.authors', blank=True),
+        ),
+        migrations.AddField(
+            model_name='content',
+            name='front_project',
+            field=models.ForeignKey(blank=True, to='ldt_utils.Project', null=True),
+        ),
+        migrations.AddField(
+            model_name='content',
+            name='media_obj',
+            field=models.ForeignKey(blank=True, to='ldt_utils.Media', null=True),
+        ),
+        migrations.AddField(
+            model_name='content',
+            name='tags',
+            field=taggit.managers.TaggableManager(to='taggit.Tag', through='taggit.TaggedItem', help_text='A comma-separated list of tags.', verbose_name='Tags'),
+        ),
+    ]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/migrations/0003_adding_is_owner_group_permission.py	Thu Apr 30 13:29:53 2015 +0200
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+class Migration(migrations.Migration):
+    
+    def add_permission_is_owner_group(apps, schema_editor):
+        from django.contrib.contenttypes.management import update_contenttypes
+        for app_config in apps.get_app_configs():
+            app_config.models_module=True
+            update_contenttypes(app_config)
+            app_config.models_module=None
+
+        Permission = apps.get_model("auth", "Permission")
+        ContentType = apps.get_model("contenttypes", "ContentType")
+        content_type = ContentType.objects.get(app_label='auth', model='group')
+        Permission.objects.create(
+                    codename='is_owner_group', 
+                    name='Can add/delete admins to the group',
+                    content_type=content_type
+                )
+        
+    
+    dependencies = [
+        ('contenttypes', '0001_initial'),
+        ('auth', '0006_require_contenttypes_0002'),
+        ('ldt_utils', '0002_auto_20150430_0951'),
+    ]
+
+    operations = [
+        migrations.RunPython(add_permission_is_owner_group)
+    ]
\ No newline at end of file
--- a/src/ldt/ldt/text/migrations/0001_initial.py	Tue Apr 28 15:43:41 2015 +0200
+++ b/src/ldt/ldt/text/migrations/0001_initial.py	Thu Apr 30 13:29:53 2015 +0200
@@ -17,20 +17,17 @@
             name='Annotation',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('external_id', models.CharField(default=ldt.text.utils.generate_uuid, unique=True, max_length=255, verbose_name='external id')),
-                ('uri', models.CharField(max_length=1024, verbose_name='annotation uri')),
-                ('title', models.CharField(max_length=1024, null=True, verbose_name='title', blank=True)),
-                ('description', models.TextField(null=True, verbose_name='description', blank=True)),
-                ('text', models.TextField(null=True, verbose_name='text', blank=True)),
-                ('color', models.CharField(max_length=1024, verbose_name='color')),
-                ('creator', models.CharField(max_length=1024, null=True, verbose_name='title', blank=True)),
-                ('contributor', models.CharField(max_length=1024, null=True, verbose_name='title', blank=True)),
-                ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='creation date')),
-                ('update_date', models.DateTimeField(auto_now=True, verbose_name='update date')),
+                ('external_id', models.CharField(default=ldt.text.utils.generate_uuid, unique=True, max_length=255, verbose_name='annotation.external_id')),
+                ('uri', models.CharField(max_length=1024, verbose_name='annotation.uri')),
+                ('title', models.CharField(max_length=1024, null=True, verbose_name='annotation.title', blank=True)),
+                ('description', models.TextField(null=True, verbose_name='annotation.description', blank=True)),
+                ('text', models.TextField(null=True, verbose_name='annotation.text', blank=True)),
+                ('color', models.CharField(max_length=1024, verbose_name='annotation.color')),
+                ('creator', models.CharField(max_length=1024, null=True, verbose_name='creator.title', blank=True)),
+                ('contributor', models.CharField(max_length=1024, null=True, verbose_name='contributor.title', blank=True)),
+                ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='annotation.creation_date')),
+                ('update_date', models.DateTimeField(auto_now=True, verbose_name='annotation.update_date')),
                 ('tags_field', taggit.managers.TaggableManager(to='taggit.Tag', through='taggit.TaggedItem', help_text='A comma-separated list of tags.', verbose_name='Tags')),
             ],
-            options={
-            },
-            bases=(models.Model,),
         ),
     ]
--- a/src/ldt/ldt/user/migrations/0001_initial.py	Tue Apr 28 15:43:41 2015 +0200
+++ b/src/ldt/ldt/user/migrations/0001_initial.py	Thu Apr 30 13:29:53 2015 +0200
@@ -10,7 +10,7 @@
 class Migration(migrations.Migration):
 
     dependencies = [
-        ('auth', '0001_initial'),
+        ('auth', '0006_require_contenttypes_0002'),
     ]
 
     operations = [
@@ -19,18 +19,18 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('password', models.CharField(max_length=128, verbose_name='password')),
-                ('last_login', models.DateTimeField(default=django.utils.timezone.now, verbose_name='last login')),
+                ('last_login', models.DateTimeField(null=True, verbose_name='last login', blank=True)),
                 ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
-                ('username', models.CharField(help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True, max_length=30, verbose_name='username', validators=[django.core.validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username.', 'invalid')])),
+                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, max_length=30, validators=[django.core.validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username. This value may contain only letters, numbers and @/./+/-/_ characters.', 'invalid')], help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True, verbose_name='username')),
                 ('first_name', models.CharField(max_length=30, verbose_name='first name', blank=True)),
                 ('last_name', models.CharField(max_length=30, verbose_name='last name', blank=True)),
-                ('email', models.EmailField(max_length=75, verbose_name='email address', blank=True)),
+                ('email', models.EmailField(max_length=254, verbose_name='email address', blank=True)),
                 ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
                 ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
                 ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
                 ('language', models.CharField(default=b'fr', max_length=2)),
                 ('image', sorl.thumbnail.fields.ImageField(default=b'thumbnails/users/user_default_icon.png', max_length=200, upload_to=b'thumbnails/users/')),
-                ('groups', models.ManyToManyField(related_query_name='user', related_name='user_set', to='auth.Group', blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of his/her group.', verbose_name='groups')),
+                ('groups', models.ManyToManyField(related_query_name='user', related_name='user_set', to='auth.Group', blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', verbose_name='groups')),
                 ('user_permissions', models.ManyToManyField(related_query_name='user', related_name='user_set', to='auth.Permission', blank=True, help_text='Specific permissions for this user.', verbose_name='user permissions')),
             ],
             options={
@@ -38,7 +38,6 @@
                 'verbose_name': 'user',
                 'verbose_name_plural': 'users',
             },
-            bases=(models.Model,),
         ),
         migrations.CreateModel(
             name='GroupProfile',
@@ -48,8 +47,5 @@
                 ('image', sorl.thumbnail.fields.ImageField(default=b'thumbnails/groups/group_default_icon.png', max_length=200, upload_to=b'/Users/durandn/IRIProjects/platform_web/web/static/media/thumbnails/groups/')),
                 ('group', models.OneToOneField(related_name='profile', to='auth.Group')),
             ],
-            options={
-            },
-            bases=(models.Model,),
         ),
     ]
--- a/src/ldt/ldt/user/migrations/0002_auto_20150424_1042.py	Tue Apr 28 15:43:41 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-from django.contrib.contenttypes.models import ContentType
-from django.contrib.auth.models import Permission
-
-class Migration(migrations.Migration):
-    
-    def add_permission_is_owner_group(apps, schema_editor):
-        content_type = ContentType.objects.get(app_label='auth', model='group')
-        Permission.objects.create(
-            codename='is_owner_group', 
-            name='Can add/delete admins to the group',
-            content_type=content_type
-        )        
-
-
-    
-    dependencies = [
-        ('user', '0001_initial'),
-    ]
-
-    operations = [
-        migrations.RunPython(add_permission_is_owner_group)
-    ]