migration update

remotes/origin/stage6
Alexander Burdeiny 9 years ago
parent 1e51eadd38
commit c2e018b7a4
  1. 38
      emencia/django/newsletter/migrations/0011_update_contact.py
  2. 5
      fabfile.py

@ -24,24 +24,28 @@ class Migration(DataMigration):
r_cities = set(City.objects.filter(country_id=russia).values_list('pk', flat=True)) r_cities = set(City.objects.filter(country_id=russia).values_list('pk', flat=True))
# with transaction.commit_manually(): # with transaction.commit_manually():
for contact in Contact.objects.prefetch_related('contactsettings').all(): for contact in Contact.objects.prefetch_related('contactsettings').all():
cities = set(contact.contactsettings.city.values_list('pk', flat=True)) try:
countries = set(contact.contactsettings.country.values_list('pk', flat=True)) cities = set(contact.contactsettings.city.values_list('pk', flat=True))
themes = set(contact.contactsettings.theme.values_list('pk', flat=True)) countries = set(contact.contactsettings.country.values_list('pk', flat=True))
themes = set(contact.contactsettings.theme.values_list('pk', flat=True))
# moscow # moscow
contact.moscow = True if moscow in cities else False contact.moscow = True if moscow in cities else False
cities.discard(moscow) cities.discard(moscow)
# cities russia # cities russia
_r_cities = cities.intersection(r_cities) _r_cities = cities.intersection(r_cities)
contact.r_cities = _r_cities contact.r_cities = _r_cities
# russia # russia
contact.russia = True if russia in countries else False contact.russia = True if russia in countries else False
countries.discard(russia) countries.discard(russia)
# countries # countries
contact.f_countries = countries contact.f_countries = countries
# themes # themes
contact.themes = themes contact.themes = themes
contact.save() contact.save()
except Exception as e:
print('Exception')
print(e)
# transaction.commit() # transaction.commit()
def backwards(self, orm): def backwards(self, orm):

5
fabfile.py vendored

@ -230,6 +230,11 @@ def t1580():
@ticket @ticket
def mailing(): def mailing():
with cd(REMOTE_HOME_DIR): with cd(REMOTE_HOME_DIR):
run('python manage.py migrate newsletter 0011 --fake')
run('python manage.py migrate newsletter')
run('python manage.py migrate newsletter 0010 --fake')
run('python manage.py migrate newsletter 0011 --fake')
run('python manage.py migrate newsletter --fake')
run('python manage.py migrate') run('python manage.py migrate')
run('python manage.py newsletter_create_dailymail') run('python manage.py newsletter_create_dailymail')

Loading…
Cancel
Save