Browse Source

Corrige ajuste de timezone ao migrar

pull/2255/head
Marcio Mazza 6 years ago
parent
commit
5d9b103c4a
  1. 15
      sapl/legacy/migracao_dados.py

15
sapl/legacy/migracao_dados.py

@ -826,15 +826,16 @@ def populate_renamed_fields(new, old):
and value in [None, 'None']): and value in [None, 'None']):
value = '' value = ''
# adiciona timezone faltante aos campos com tempo # ajusta tempos segundo timezone
# os campos TIMESTAMP do mysql são gravados em UTC # os campos TIMESTAMP do mysql são gravados em UTC
# os DATETIME e TIME não têm timezone # os DATETIME e TIME não têm timezone
def campo_tempo_sem_timezone(tipo):
return (field_type == tipo if field_type == 'DateTimeField' and value:
and value and not value.tzinfo) # as datas armazenadas no legado na verdade são naive
if campo_tempo_sem_timezone('DateTimeField'): sem_tz = value.replace(tzinfo=None)
value = PYTZ_TIMEZONE.localize(value) value = PYTZ_TIMEZONE.localize(sem_tz).astimezone(pytz.utc)
if campo_tempo_sem_timezone('TimeField'):
if field_type == 'TimeField' and value:
value = value.replace(tzinfo=PYTZ_TIMEZONE) value = value.replace(tzinfo=PYTZ_TIMEZONE)
setattr(new, field.name, value) setattr(new, field.name, value)

Loading…
Cancel
Save