import arrow from Schemas import AccountRecords, BuildIbans def account_find_build_from_iban(session): AccountRecords.set_session(session) BuildIbans.set_session(session) account_records_ibans = AccountRecords.query.filter(AccountRecords.build_id == None, AccountRecords.approved_record == False).distinct(AccountRecords.iban).all() for account_records_iban in account_records_ibans: found_iban: BuildIbans = BuildIbans.query.filter(BuildIbans.iban == account_records_iban.iban).first() if not found_iban: create_build_ibans = BuildIbans.create(iban=account_records_iban.iban, start_date=str(arrow.now().shift(days=-1))) create_build_ibans.save() else: update_dict = {"build_id": found_iban.build_id, "build_uu_id": str(found_iban.build_uu_id)} session.query(AccountRecords).filter(AccountRecords.iban == account_records_iban.iban).update(update_dict, synchronize_session=False) session.commit() if __name__ == "__main__": print("Account Records Service is running...") with AccountRecords.new_session() as session: account_find_build_from_iban(session=session) print("Account Records Service is finished...")