Merge pull request #283 from nephila/feature/thumbnailoption_migrations
Fix thumbnailoption migrations
This commit is contained in:
commit
e9a5e8fa46
5 changed files with 183 additions and 16 deletions
30
README.rst
30
README.rst
|
@ -56,6 +56,36 @@ Supported django CMS versions:
|
|||
Some plugins have a broken tag management prior to 0.6, in case
|
||||
you have issues with tags, upgrade to latest version to have it fixed.
|
||||
|
||||
Upgrading cmsplugin-filer from 1.0 to 1.1
|
||||
-----------------------------------------
|
||||
|
||||
Due to changes in cmsplugin-filer/filer which moved ``ThumbnailOption`` model from the
|
||||
former to the latter, ``djangocms-blog`` must be migrated as well.
|
||||
|
||||
Migrating cmsplugin-filer to 1.1 and djangocms-blog up to 0.8.4
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
If you have djangocms-blog up to 0.8.4 (included) installed or you are upgrading from a previous
|
||||
djangocms-blog version together with cmsplugin-filer upgrade, you can just apply the migrations::
|
||||
|
||||
pip install cmsplugin-filer==1.1.1 django-filer==1.2.2 djangocms-blog==0.8.4
|
||||
python manage.py migrate
|
||||
|
||||
Migrating cmsplugin-filer to 1.1 and djangocms-blog 0.8.5+
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
If you already a djangocms-blog 0.8.5+ or above, you have to de-apply some blog migrations when
|
||||
doing the upgrade::
|
||||
|
||||
python manage.py migrate djangocms_blog 0017 ## reverse for these migration is a noop
|
||||
pip install cmsplugin-filer==1.1.1 django-filer==1.2.2
|
||||
python manage.py migrate
|
||||
|
||||
.. note:: de-apply migration **before** upgrading cmsplugin-filer. If running before upgrade, the
|
||||
backward migration won't alter anything on the database, and it will just allow the code
|
||||
to migrate ``ThumbnailOption`` from cmsplugin-filer to filer
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
|
|
|
@ -16,6 +16,23 @@ class Migration(migrations.Migration):
|
|||
run_before = [
|
||||
('cmsplugin_filer_image', '0004_auto_20160120_0950'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='post',
|
||||
name='main_image_full',
|
||||
field=models.ForeignKey(related_name='djangocms_blog_post_full',
|
||||
verbose_name='Main image full', blank=True,
|
||||
to=thumbnail_model, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='post',
|
||||
name='main_image_thumbnail',
|
||||
field=models.ForeignKey(related_name='djangocms_blog_post_thumbnail',
|
||||
verbose_name='Main image thumbnail', blank=True,
|
||||
to=thumbnail_model, null=True),
|
||||
),
|
||||
]
|
||||
else:
|
||||
dependencies = [
|
||||
('filer', '__first__'),
|
||||
|
@ -23,19 +40,4 @@ class Migration(migrations.Migration):
|
|||
('djangocms_blog', '0016_auto_20160502_1741'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='post',
|
||||
name='main_image_full',
|
||||
field=models.ForeignKey(related_name='djangocms_blog_post_full',
|
||||
verbose_name='Main image full', blank=True,
|
||||
to=thumbnail_model, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='post',
|
||||
name='main_image_thumbnail',
|
||||
field=models.ForeignKey(related_name='djangocms_blog_post_thumbnail',
|
||||
verbose_name='Main image thumbnail', blank=True,
|
||||
to=thumbnail_model, null=True),
|
||||
),
|
||||
]
|
||||
operations = []
|
||||
|
|
43
djangocms_blog/migrations/0018_thumbnail_move2.py
Normal file
43
djangocms_blog/migrations/0018_thumbnail_move2.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
from djangocms_blog.models import thumbnail_model
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
if 'cmsplugin_filer' not in thumbnail_model:
|
||||
dependencies = [
|
||||
('djangocms_blog', '0017_thumbnail_move'),
|
||||
('filer', '0003_thumbnailoption'),
|
||||
('cmsplugin_filer_image', '0003_mv_thumbnail_option_to_filer_20160119_1720'),
|
||||
]
|
||||
run_before = [
|
||||
('cmsplugin_filer_image', '0004_auto_20160120_0950'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='post',
|
||||
name='main_image_full_new',
|
||||
field=models.ForeignKey(related_name='djangocms_blog_post_full',
|
||||
verbose_name='Main image full', blank=True,
|
||||
to=thumbnail_model, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='post',
|
||||
name='main_image_thumbnail_new',
|
||||
field=models.ForeignKey(related_name='djangocms_blog_post_thumbnail',
|
||||
verbose_name='Main image thumbnail', blank=True,
|
||||
to=thumbnail_model, null=True),
|
||||
),
|
||||
]
|
||||
else:
|
||||
dependencies = [
|
||||
('filer', '__first__'),
|
||||
('cmsplugin_filer_image', '__first__'),
|
||||
('djangocms_blog', '0017_thumbnail_move'),
|
||||
]
|
||||
|
||||
operations = []
|
45
djangocms_blog/migrations/0019_thumbnail_move3.py
Normal file
45
djangocms_blog/migrations/0019_thumbnail_move3.py
Normal file
|
@ -0,0 +1,45 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
from djangocms_blog.models import thumbnail_model
|
||||
|
||||
|
||||
def move_thumbnail_opt_to_filer(apps, schema_editor):
|
||||
Post = apps.get_model('djangocms_blog', 'Post')
|
||||
for post in Post.objects.all():
|
||||
post.main_image_full_new_id = post.main_image_full_id
|
||||
post.main_image_thumbnail_new_id = post.main_image_thumbnail_id
|
||||
post.save()
|
||||
|
||||
|
||||
def move_thumbnail_opt_to_plugin(apps, schema_editor):
|
||||
Post = apps.get_model('djangocms_blog', 'Post')
|
||||
for post in Post.objects.all():
|
||||
post.main_image_full_id = post.main_image_full_new_id
|
||||
post.main_image_thumbnail_id = post.main_image_thumbnail_new_id
|
||||
post.save()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
if 'cmsplugin_filer' not in thumbnail_model:
|
||||
dependencies = [
|
||||
('djangocms_blog', '0018_thumbnail_move2'),
|
||||
('filer', '0003_thumbnailoption'),
|
||||
('cmsplugin_filer_image', '0003_mv_thumbnail_option_to_filer_20160119_1720'),
|
||||
]
|
||||
run_before = [
|
||||
('cmsplugin_filer_image', '0004_auto_20160120_0950'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(move_thumbnail_opt_to_filer, move_thumbnail_opt_to_plugin),
|
||||
]
|
||||
else:
|
||||
dependencies = [
|
||||
('filer', '__first__'),
|
||||
('cmsplugin_filer_image', '__first__'),
|
||||
('djangocms_blog', '0018_thumbnail_move2'),
|
||||
]
|
||||
|
||||
operations = []
|
47
djangocms_blog/migrations/0020_thumbnail_move4.py
Normal file
47
djangocms_blog/migrations/0020_thumbnail_move4.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
from djangocms_blog.models import thumbnail_model
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
if 'cmsplugin_filer' not in thumbnail_model:
|
||||
dependencies = [
|
||||
('djangocms_blog', '0019_thumbnail_move3'),
|
||||
('filer', '0003_thumbnailoption'),
|
||||
('cmsplugin_filer_image', '0003_mv_thumbnail_option_to_filer_20160119_1720'),
|
||||
]
|
||||
run_before = [
|
||||
('cmsplugin_filer_image', '0004_auto_20160120_0950'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='post',
|
||||
name='main_image_full'
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='post',
|
||||
name='main_image_thumbnail',
|
||||
),
|
||||
migrations.RenameField(
|
||||
model_name='post',
|
||||
old_name='main_image_full_new',
|
||||
new_name='main_image_full',
|
||||
),
|
||||
migrations.RenameField(
|
||||
model_name='post',
|
||||
old_name='main_image_thumbnail_new',
|
||||
new_name='main_image_thumbnail',
|
||||
)
|
||||
]
|
||||
else:
|
||||
dependencies = [
|
||||
('filer', '__first__'),
|
||||
('cmsplugin_filer_image', '__first__'),
|
||||
('djangocms_blog', '0019_thumbnail_move3'),
|
||||
]
|
||||
|
||||
operations = []
|
Loading…
Reference in a new issue