Added MySQL support to 0004_auto__chg_field_rendition_focal_point_key

pull/875/head
Robert Rollins 2014-12-15 12:15:02 -08:00
rodzic d8ac5bf839
commit 0de0bf2cd4
1 zmienionych plików z 16 dodań i 5 usunięć

Wyświetl plik

@ -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=''))