diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index c9f3f547171..840b02150cc 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -5,7 +5,7 @@ import logging from django.db import migrations - +from django.utils import timezone log = logging.getLogger(__name__) @@ -31,7 +31,9 @@ def remote_relations_generator(relations, batch_size): yield relation - relations_queryset = RemoteRelation.objects.all().select_related( + relations_queryset = RemoteRelation.objects.filter( + user__last_login__gte=timezone.now() - timezone.timedelta(days=30) + ).select_related( 'remoterepository' ).only( 'account_id', 'active', 'admin', 'created', @@ -41,7 +43,7 @@ def remote_relations_generator(relations, batch_size): 'remoterepository__modified_date' ) - batch_size = 5000 + batch_size = 1000 remote_relations = remote_relations_generator( relations_queryset, batch_size ) diff --git a/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py b/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py deleted file mode 100644 index 59c61a717b8..00000000000 --- a/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 2.2.16 on 2020-10-10 15:21 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('oauth', '0012_data_migration_for_remote_relation_model'), - ] - - operations = [ - migrations.RemoveField( - model_name='remoterepository', - name='account', - ), - migrations.RemoveField( - model_name='remoterepository', - name='active', - ), - migrations.RemoveField( - model_name='remoterepository', - name='admin', - ), - migrations.RemoveField( - model_name='remoterepository', - name='json', - ), - ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 9c9e72b5827..6a8790fe8b6 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -103,6 +103,8 @@ class RemoteRepository(models.Model): blank=True, on_delete=models.CASCADE, ) + active = models.BooleanField(_('Active'), default=False) + project = models.OneToOneField( Project, on_delete=models.SET_NULL, @@ -145,6 +147,7 @@ class RemoteRepository(models.Model): html_url = models.URLField(_('HTML URL'), null=True, blank=True) private = models.BooleanField(_('Private repository'), default=False) + admin = models.BooleanField(_('Has admin privilege'), default=False) vcs = models.CharField( _('vcs'), max_length=200, @@ -152,6 +155,8 @@ class RemoteRepository(models.Model): choices=REPO_CHOICES, ) + json = models.TextField(_('Serialized API response')) + objects = RemoteRepositoryQuerySet.as_manager() class Meta: