def load_ehpa_signings(self): print("Processing EHPA signings.") writer = BatchWriter(models.EmergencyHPASigning) signings = DocusignEnvelope.objects.filter( status=HP_DOCUSIGN_STATUS_CHOICES.SIGNED, ) with writer.atomic_transaction(using=settings.DWH_DATABASE, wipe=True): for signing in signings: writer.write( models.EmergencyHPASigning(created_at=signing.created_at))
def load_loc_requests(self): print("Processing letter of complaint requests.") writer = BatchWriter(models.LetterOfComplaintRequest) kwargs = { f"{name}_uuid": uuid_from_url(url) for (name, url) in LOC_GROUP_URLS.items() } with connection.cursor() as cursor: cursor.execute(LOC_SQLFILE.read_text(), kwargs) with writer.atomic_transaction(using=settings.DWH_DATABASE, wipe=True): for row_dict in iter_cursor_dicts(cursor): req = models.LetterOfComplaintRequest(**row_dict) writer.write(req)
def load_online_rent_history_requests(self): print("Processing online rent history requests.") writer = BatchWriter(models.OnlineRentHistoryRequest) with connection.cursor() as cursor: cursor.execute(""" SELECT rh.created_at, rapidpro_contact.uuid AS user_uuid FROM rh_rentalhistoryrequest AS rh LEFT JOIN rapidpro_contact ON rh.phone_number = rapidpro_contact.phone_number """) with writer.atomic_transaction(using=settings.DWH_DATABASE, wipe=True): for row_dict in iter_cursor_dicts(cursor): req = models.OnlineRentHistoryRequest(**row_dict) writer.write(req)