From eadf56642f3e37e574abd2829b6da4b677fe3606 Mon Sep 17 00:00:00 2001 From: Andrew Melton Date: Fri, 13 Sep 2013 14:56:30 -0400 Subject: [PATCH] Handling case of no data in 0003 migration --- ...tanceexists_and_instanceusages_from_rawdata.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/stacktach/migrations/0003_populate_usage_related_fields_in_rawdataimagemeta_instanceexists_and_instanceusages_from_rawdata.py b/stacktach/migrations/0003_populate_usage_related_fields_in_rawdataimagemeta_instanceexists_and_instanceusages_from_rawdata.py index 179811c..3688951 100644 --- a/stacktach/migrations/0003_populate_usage_related_fields_in_rawdataimagemeta_instanceexists_and_instanceusages_from_rawdata.py +++ b/stacktach/migrations/0003_populate_usage_related_fields_in_rawdataimagemeta_instanceexists_and_instanceusages_from_rawdata.py @@ -41,13 +41,14 @@ def queryset_iterator(queryset, chunksize=1000): Note that the implementation of the iterator does not support ordered query sets. ''' id = 0 - last_pk = queryset.order_by('-id')[0]['id'] - queryset = queryset.order_by('id') - while id < last_pk: - for row in queryset.filter(id__gt=id)[:chunksize]: - id = row['id'] - yield row - gc.collect() + if queryset.order_by('-id').count() > 0: + last_pk = queryset.order_by('-id')[0]['id'] + queryset = queryset.order_by('id') + while id < last_pk: + for row in queryset.filter(id__gt=id)[:chunksize]: + id = row['id'] + yield row + gc.collect() class Migration(DataMigration):