Skip to content

Commit d2fe6a5

Browse files
committed
delete orcid from user social in batch
1 parent 395f85b commit d2fe6a5

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

osf/management/commands/remove_orcid_from_user_social.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,12 @@ def remove_orcid_from_user_social():
1111
start = datetime.now()
1212
orcid_records = OSFUser.objects.filter(social__has_key='orcid')
1313
logger.info(f'extracted orcid records count {orcid_records.count()}')
14-
deleted_records = orcid_records.update(social=RawSQL("""social #- '{orcid}'""", []))
15-
logger.info(f'deleted orcid records count {deleted_records} in {datetime.now() - start}')
14+
total_deleted_records = 0
15+
while OSFUser.objects.filter(social__has_key='orcid').exists():
16+
total_deleted_records += OSFUser.objects.filter(
17+
id__in=OSFUser.objects.filter(social__has_key='orcid')[:10_000].values_list('id', flat=True)
18+
).update(social=RawSQL("""social #- '{orcid}'""", []))
19+
logger.info(f'deleted orcid records count {total_deleted_records} in {datetime.now() - start}')
1620

1721

1822
class Command(BaseCommand):

0 commit comments

Comments
 (0)