From 0af862438cbf0ba63cfe79fe12226b5caf658422 Mon Sep 17 00:00:00 2001 From: Robert Rollins Date: Mon, 15 Dec 2014 12:15:02 -0800 Subject: [PATCH] Added MySQL support to 0004_auto__chg_field_rendition_focal_point_key --- ...to__chg_field_rendition_focal_point_key.py | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) 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 f22008623..b7180a820 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 @@ -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=''))