remove data migration from 0010, create 0014 with optional data migration (does nothing if already migrated)
This commit is contained in:
		
					parent
					
						
							
								18ea7bbd88
							
						
					
				
			
			
				commit
				
					
						678bd1ab9b
					
				
			
		
					 2 changed files with 43 additions and 29 deletions
				
			
		| 
						 | 
					@ -4,37 +4,9 @@ from __future__ import unicode_literals
 | 
				
			||||||
import aldryn_apphooks_config.fields
 | 
					import aldryn_apphooks_config.fields
 | 
				
			||||||
import app_data.fields
 | 
					import app_data.fields
 | 
				
			||||||
import djangocms_text_ckeditor.fields
 | 
					import djangocms_text_ckeditor.fields
 | 
				
			||||||
from cms.models import Page
 | 
					 | 
				
			||||||
from cms.utils.i18n import get_language_list
 | 
					 | 
				
			||||||
from django.db import models, migrations
 | 
					from django.db import models, migrations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def forwards(apps, schema_editor):
 | 
					 | 
				
			||||||
    BlogConfig = apps.get_model('djangocms_blog', 'BlogConfig')
 | 
					 | 
				
			||||||
    BlogConfigTranslation = apps.get_model('djangocms_blog', 'BlogConfigTranslation')
 | 
					 | 
				
			||||||
    Post = apps.get_model('djangocms_blog', 'Post')
 | 
					 | 
				
			||||||
    BlogCategory = apps.get_model('djangocms_blog', 'BlogCategory')
 | 
					 | 
				
			||||||
    GenericBlogPlugin = apps.get_model('djangocms_blog', 'GenericBlogPlugin')
 | 
					 | 
				
			||||||
    LatestPostsPlugin = apps.get_model('djangocms_blog', 'LatestPostsPlugin')
 | 
					 | 
				
			||||||
    AuthorEntriesPlugin = apps.get_model('djangocms_blog', 'AuthorEntriesPlugin')
 | 
					 | 
				
			||||||
    config = None
 | 
					 | 
				
			||||||
    for page in Page.objects.drafts().filter(application_urls='BlogApp'):
 | 
					 | 
				
			||||||
        config = BlogConfig.objects.create(namespace=page.application_namespace)
 | 
					 | 
				
			||||||
        for lang in get_language_list():
 | 
					 | 
				
			||||||
            title = page.get_title(lang)
 | 
					 | 
				
			||||||
            translation = BlogConfigTranslation.objects.create(language_code=lang, master_id=config.pk, app_title=title)
 | 
					 | 
				
			||||||
    if config:
 | 
					 | 
				
			||||||
        for model in (Post, BlogCategory, GenericBlogPlugin, LatestPostsPlugin, AuthorEntriesPlugin):
 | 
					 | 
				
			||||||
            for item in model.objects.all():
 | 
					 | 
				
			||||||
                item.app_config = config
 | 
					 | 
				
			||||||
                item.save()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def backwards(apps, schema_editor):
 | 
					 | 
				
			||||||
    # No need for backward data migration
 | 
					 | 
				
			||||||
    pass
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Migration(migrations.Migration):
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dependencies = [
 | 
					    dependencies = [
 | 
				
			||||||
| 
						 | 
					@ -120,5 +92,4 @@ class Migration(migrations.Migration):
 | 
				
			||||||
            name='sites',
 | 
					            name='sites',
 | 
				
			||||||
            field=models.ManyToManyField(to='sites.Site', help_text='Select sites in which to show the post. If none is set it will be visible in all the configured sites.', blank=True, verbose_name='Site(s)'),
 | 
					            field=models.ManyToManyField(to='sites.Site', help_text='Select sites in which to show the post. If none is set it will be visible in all the configured sites.', blank=True, verbose_name='Site(s)'),
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
        migrations.RunPython(forwards, backwards)
 | 
					 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										43
									
								
								djangocms_blog/migrations/0014_auto_20160215_1331.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								djangocms_blog/migrations/0014_auto_20160215_1331.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,43 @@
 | 
				
			||||||
 | 
					# -*- coding: utf-8 -*-
 | 
				
			||||||
 | 
					from __future__ import unicode_literals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from cms.models import Page
 | 
				
			||||||
 | 
					from cms.utils.i18n import get_language_list
 | 
				
			||||||
 | 
					from django.db import migrations, models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def forwards(apps, schema_editor):
 | 
				
			||||||
 | 
					    BlogConfig = apps.get_model('djangocms_blog', 'BlogConfig')
 | 
				
			||||||
 | 
					    BlogConfigTranslation = apps.get_model('djangocms_blog', 'BlogConfigTranslation')
 | 
				
			||||||
 | 
					    Post = apps.get_model('djangocms_blog', 'Post')
 | 
				
			||||||
 | 
					    BlogCategory = apps.get_model('djangocms_blog', 'BlogCategory')
 | 
				
			||||||
 | 
					    GenericBlogPlugin = apps.get_model('djangocms_blog', 'GenericBlogPlugin')
 | 
				
			||||||
 | 
					    LatestPostsPlugin = apps.get_model('djangocms_blog', 'LatestPostsPlugin')
 | 
				
			||||||
 | 
					    AuthorEntriesPlugin = apps.get_model('djangocms_blog', 'AuthorEntriesPlugin')
 | 
				
			||||||
 | 
					    config = None
 | 
				
			||||||
 | 
					    for page in Page.objects.drafts().filter(application_urls='BlogApp'):
 | 
				
			||||||
 | 
					        config, created = BlogConfig.objects.get_or_create(namespace=page.application_namespace)
 | 
				
			||||||
 | 
					        if not BlogConfigTranslation.objects.exists():
 | 
				
			||||||
 | 
					            for lang in get_language_list():
 | 
				
			||||||
 | 
					                title = page.get_title(lang)
 | 
				
			||||||
 | 
					                translation = BlogConfigTranslation.objects.create(language_code=lang, master_id=config.pk, app_title=title)
 | 
				
			||||||
 | 
					    if config:
 | 
				
			||||||
 | 
					        for model in (Post, BlogCategory, GenericBlogPlugin, LatestPostsPlugin, AuthorEntriesPlugin):
 | 
				
			||||||
 | 
					            for item in model.objects.filter(app_config__isnull=True):
 | 
				
			||||||
 | 
					                item.app_config = config
 | 
				
			||||||
 | 
					                item.save()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def backwards(apps, schema_editor):
 | 
				
			||||||
 | 
					    # No need for backward data migration
 | 
				
			||||||
 | 
					    pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dependencies = [
 | 
				
			||||||
 | 
					        ('djangocms_blog', '0013_auto_20160201_2235'),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.RunPython(forwards, backwards),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue