Added MySQL support to 0004_auto__chg_field_rendition_focal_point_key

This commit is contained in:
Robert Rollins 2014-12-15 12:15:02 -08:00 committed by Matt Westcott
parent d43264b93c
commit 0af862438c

View file

@ -11,11 +11,22 @@ class Migration(SchemaMigration):
def forwards(self, orm):
# remove duplicate renditions
db.execute("""
DELETE FROM wagtailimages_rendition WHERE image_id || '-' || filter_id IN (
SELECT image_id || '-' || filter_id FROM wagtailimages_rendition WHERE focal_point_key IS NULL GROUP BY image_id, filter_id HAVING COUNT(*) > 1
) AND focal_point_key IS NULL
""")
if db._get_connection().vendor == 'mysql':
db.execute("""
DELETE FROM wagtailimages_rendition WHERE CONCAT(image_id, '-', filter_id) IN (
SELECT CONCAT(image_id, '-', filter_id) FROM (SELECT * FROM wagtailimages_rendition) as x
WHERE focal_point_key IS NULL
GROUP BY image_id, filter_id HAVING COUNT(*) > 1
) AND focal_point_key IS NULL
""")
else:
db.execute("""
DELETE FROM wagtailimages_rendition WHERE image_id || '-' || filter_id IN (
SELECT image_id || '-' || filter_id FROM wagtailimages_rendition
WHERE focal_point_key IS NULL
GROUP BY image_id, filter_id HAVING COUNT(*) > 1
) AND focal_point_key IS NULL
""")
# Changing field 'Rendition.focal_point_key'
db.alter_column('wagtailimages_rendition', 'focal_point_key', self.gf('django.db.models.fields.CharField')(max_length=255, default=''))