diff --git a/wagtail/wagtailimages/south_migrations/0004_auto__chg_field_rendition_focal_point_key.py b/wagtail/wagtailimages/south_migrations/0004_auto__chg_field_rendition_focal_point_key.py index e1c17d342d..25202438eb 100644 --- a/wagtail/wagtailimages/south_migrations/0004_auto__chg_field_rendition_focal_point_key.py +++ b/wagtail/wagtailimages/south_migrations/0004_auto__chg_field_rendition_focal_point_key.py @@ -13,11 +13,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=''))