Skip to content

Commit c3592eb

Browse files
committed
Updated data migrations to only migrate RemoteRepositories of recently loggedin users
1 parent 1bd03c7 commit c3592eb

File tree

3 files changed

+10
-32
lines changed

3 files changed

+10
-32
lines changed

readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import logging
66

77
from django.db import migrations
8-
8+
from django.utils import timezone
99

1010
log = logging.getLogger(__name__)
1111

@@ -31,7 +31,9 @@ def remote_relations_generator(relations, batch_size):
3131

3232
yield relation
3333

34-
relations_queryset = RemoteRelation.objects.all().select_related(
34+
relations_queryset = RemoteRelation.objects.filter(
35+
user__last_login__gte=timezone.now() - timezone.timedelta(days=30)
36+
).select_related(
3537
'remoterepository'
3638
).only(
3739
'account_id', 'active', 'admin', 'created',
@@ -41,7 +43,7 @@ def remote_relations_generator(relations, batch_size):
4143
'remoterepository__modified_date'
4244
)
4345

44-
batch_size = 5000
46+
batch_size = 1000
4547
remote_relations = remote_relations_generator(
4648
relations_queryset, batch_size
4749
)

readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py

-29
This file was deleted.

readthedocs/oauth/models.py

+5
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ class RemoteRepository(models.Model):
103103
blank=True,
104104
on_delete=models.CASCADE,
105105
)
106+
active = models.BooleanField(_('Active'), default=False)
107+
106108
project = models.OneToOneField(
107109
Project,
108110
on_delete=models.SET_NULL,
@@ -145,13 +147,16 @@ class RemoteRepository(models.Model):
145147
html_url = models.URLField(_('HTML URL'), null=True, blank=True)
146148

147149
private = models.BooleanField(_('Private repository'), default=False)
150+
admin = models.BooleanField(_('Has admin privilege'), default=False)
148151
vcs = models.CharField(
149152
_('vcs'),
150153
max_length=200,
151154
blank=True,
152155
choices=REPO_CHOICES,
153156
)
154157

158+
json = models.TextField(_('Serialized API response'))
159+
155160
objects = RemoteRepositoryQuerySet.as_manager()
156161

157162
class Meta:

0 commit comments

Comments
 (0)