summaryrefslogtreecommitdiffstats
path: root/askbot/migrations/0098_postize_thread_anonanswer_questionview_postrevision.py
diff options
context:
space:
mode:
Diffstat (limited to 'askbot/migrations/0098_postize_thread_anonanswer_questionview_postrevision.py')
-rw-r--r--askbot/migrations/0098_postize_thread_anonanswer_questionview_postrevision.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/askbot/migrations/0098_postize_thread_anonanswer_questionview_postrevision.py b/askbot/migrations/0098_postize_thread_anonanswer_questionview_postrevision.py
index e253613e..08e62dbb 100644
--- a/askbot/migrations/0098_postize_thread_anonanswer_questionview_postrevision.py
+++ b/askbot/migrations/0098_postize_thread_anonanswer_questionview_postrevision.py
@@ -3,26 +3,35 @@ import datetime
from south.db import db
from south.v2 import DataMigration
from django.db import models
+from askbot.utils.console import ProgressBar
class Migration(DataMigration):
def forwards(self, orm):
# TODO: Speed this migration up by prefetching data ?
- for thread in orm.Thread.objects.all():
+ message = "Marking accepted answer in threads"
+ num_threads = orm.Thread.objects.count()
+ for thread in ProgressBar(orm.Thread.objects.iterator(), num_threads, message):
if thread.accepted_answer:
thread.accepted_answer_post = orm.Post.objects.get(self_answer__id=thread.accepted_answer.id)
thread.save()
- for qv in orm.QuestionView.objects.all():
+ message = "Connecting question view objects to posts"
+ num_question_views = orm.QuestionView.objects.count()
+ for qv in ProgressBar(orm.QuestionView.objects.iterator(), num_question_views, message):
qv.question_post = orm.Post.objects.get(self_question__id=qv.question.id)
qv.save()
- for aa in orm.AnonymousAnswer.objects.all():
+ message = "Connecting anonymous answers to posts"
+ num_anon_answers = orm.AnonymousAnswer.objects.count()
+ for aa in ProgressBar(orm.AnonymousAnswer.objects.iterator(), num_anon_answers, message):
aa.question_post = orm.Post.objects.get(self_question__id=aa.question.id)
aa.save()
- for rev in orm.PostRevision.objects.all():
+ message = "Connecting post revisions to posts"
+ num_post_revs = orm.PostRevision.objects.count()
+ for rev in ProgressBar(orm.PostRevision.objects.iterator(), num_post_revs, message):
if rev.question:
assert not rev.answer
rev.post = orm.Post.objects.get(self_question__id=rev.question.id)