Просмотр исходного кода

Dropped migrations from 0.1 support.

Ralfp 12 лет назад
Родитель
Сommit
2dafd03f3e
2 измененных файлов с 1 добавлено и 290 удалено
  1. 1 1
      README.md
  2. 0 289
      misago/management/commands/migratefrom01.py

+ 1 - 1
README.md

@@ -92,7 +92,7 @@ Updating
 
 You can use the `updatemisago` command to update your forums database to latest version _unless_ you are updating from `0.1` which is incompatibile with `0.2` and later releases.
 
-If you want to move data from `0.1` to `0.2`, install `0.2` to new database, then add a connection to the `0.1` database in your settings.py and name it "deprecated". When you are ready, use the `migratefrom01` management command to move data from the `0.1` database over to `0.2`.
+Support for migrations from `0.1` has been dropped with `0.3` release.
 
 
 Contributing

+ 0 - 289
misago/management/commands/migratefrom01.py

@@ -1,289 +0,0 @@
-from django.conf import settings
-from django.core.management import CommandError
-from django.core.management.base import BaseCommand
-from django.db import connections
-from misago.models import *
-
-class Command(BaseCommand):
-    """
-    Small utility that migrates data from Misago 0.1 instalation to 0.2
-    """
-    help = 'Updates Popular Threads ranking'
-    def handle(self, *args, **options):
-        self.cursor = connections['deprecated'].cursor()
-        self.stdout.write('\nBeginning migration from Misago 0.1...\n')
-
-        self.mig_settings()
-        self.mig_monitor()
-
-        self.users = {}
-        self.forums = {}
-        self.threads = {}
-
-        self.mig_users()
-        self.mig_users_roles()
-        self.mig_users_relations()
-        
-        Karma.objects.all().delete()
-        Change.objects.all().delete()
-        Checkpoint.objects.all().delete()
-        Post.objects.all().delete()
-        Thread.objects.all().delete()
-
-        self.mig_forums()
-        
-        self.mig_threads()
-        self.mig_posts()
-        self.mig_subs()
-
-        self.sync_threads()
-        self.sync_forums()
-        
-        self.stdout.write('\nData was migrated.\n')
-
-    def mig_settings(self):
-        self.stdout.write('Migrating Database Settings...')
-        self.cursor.execute("SELECT setting, value FROM settings_setting");
-        for row in self.dictfetchall():
-            Setting.objects.filter(setting=row['setting']).update(value=row['value'])
-
-    def mig_monitor(self):
-        self.stdout.write('Migrating Forum Monitor...')
-        self.cursor.execute("SELECT id, value, updated FROM monitor_item");
-        for row in self.dictfetchall():
-            MonitorItem.objects.filter(id=row['id']).update(value=row['value'], updated=row['updated'])
-
-    def mig_users(self):
-        User.objects.all().delete()
-        self.stdout.write('Migrating Users...')
-        self.cursor.execute("SELECT * FROM users_user");
-        for row in self.dictfetchall():
-            self.users[row['id']] = User.objects.create(
-                                                        username=row['username'],
-                                                        username_slug=row['username_slug'],
-                                                        email=row['email'],
-                                                        email_hash=row['email_hash'],
-                                                        password=row['password'],
-                                                        password_date=row['password_date'],
-                                                        avatar_type=row['avatar_type'],
-                                                        avatar_image=row['avatar_image'],
-                                                        avatar_original=row['avatar_original'],
-                                                        avatar_temp=row['avatar_temp'],
-                                                        signature=row['signature'],
-                                                        signature_preparsed=row['signature_preparsed'],
-                                                        join_date=row['join_date'],
-                                                        join_ip=row['join_ip'],
-                                                        join_agent=row['join_agent'],
-                                                        last_date=row['last_date'],
-                                                        last_ip=row['last_ip'],
-                                                        last_agent=row['last_agent'],
-                                                        hide_activity=row['hide_activity'],
-                                                        subscribe_start=row['subscribe_start'],
-                                                        subscribe_reply=row['subscribe_reply'],
-                                                        receive_newsletters=row['receive_newsletters'],
-                                                        threads=row['threads'],
-                                                        posts=row['posts'],
-                                                        votes=row['votes'],
-                                                        karma_given_p=row['karma_given_p'],
-                                                        karma_given_n=row['karma_given_n'],
-                                                        karma_p=row['karma_p'],
-                                                        karma_n=row['karma_n'],
-                                                        following=row['following'],
-                                                        followers=row['followers'],
-                                                        score=row['score'],
-                                                        ranking=row['ranking'],
-                                                        last_sync=row['last_sync'],
-                                                        title=row['title'],
-                                                        last_post=row['last_post'],
-                                                        last_search=row['last_search'],
-                                                        alerts=row['alerts'],
-                                                        alerts_date=row['alerts_date'],
-                                                        activation=row['activation'],
-                                                        token=row['token'],
-                                                        avatar_ban=row['avatar_ban'],
-                                                        avatar_ban_reason_user=row['avatar_ban_reason_user'],
-                                                        avatar_ban_reason_admin=row['avatar_ban_reason_admin'],
-                                                        signature_ban=row['signature_ban'],
-                                                        signature_ban_reason_user=row['signature_ban_reason_user'],
-                                                        signature_ban_reason_admin=row['signature_ban_reason_admin'],
-                                                        timezone=row['timezone'],
-                                                        is_team=row['is_team'],
-                                                        acl_key=row['acl_key'],
-                                                        )
-
-    def mig_users_roles(self):
-        self.stdout.write('Migrating Users Roles...')
-        self.cursor.execute("SELECT * FROM users_user_roles");
-        for row in self.dictfetchall():
-            self.users[row['user_id']].roles.add(Role.objects.get(id=row['role_id']))
-
-    def mig_users_relations(self):
-        self.stdout.write('Migrating Users Relations...')
-        self.cursor.execute("SELECT * FROM users_user_follows");
-        for row in self.dictfetchall():
-            self.users[row['from_user_id']].follows.add(self.users[row['to_user_id']])
-        self.cursor.execute("SELECT * FROM users_user_ignores");
-        for row in self.dictfetchall():
-            self.users[row['from_user_id']].ignores.add(self.users[row['to_user_id']])
-
-    def mig_forums(self):
-        self.stdout.write('Migrating Forums...')
-        self.forums[4] = Forum.objects.get(special='root')
-        for forum in self.forums[4].get_descendants():
-            forum.delete()
-        self.forums[4] = Forum.objects.get(special='root')
-        self.cursor.execute("SELECT * FROM forums_forum WHERE level > 0 ORDER BY lft");
-        for row in self.dictfetchall():
-            self.forums[row['id']] = Forum(
-                                           type=row['type'],
-                                           special=row['token'],
-                                           name=row['name'],
-                                           slug=row['slug'],
-                                           description=row['description'],
-                                           description_preparsed=row['description_preparsed'],
-                                           redirect=row['redirect'],
-                                           redirects=row['redirects'],
-                                           attrs=row['attrs'],
-                                           show_details=row['show_details'],
-                                           style=row['style'],
-                                           closed=row['closed'],
-                                           )
-            self.forums[row['id']].insert_at(self.forums[row['parent_id']], position='last-child', save=True)
-            Forum.objects.populate_tree(True)
-
-    def mig_threads(self):
-        self.stdout.write('Migrating Threads...')
-        self.cursor.execute("SELECT * FROM threads_thread");
-        for row in self.dictfetchall():
-            self.threads[row['id']] = Thread.objects.create(                
-                                                            forum=self.forums[row['forum_id']],
-                                                            weight=row['weight'],
-                                                            name=row['name'],
-                                                            slug=row['slug'],
-                                                            merges=row['merges'],
-                                                            score=row['score'],
-                                                            upvotes=row['upvotes'],
-                                                            downvotes=row['downvotes'],
-                                                            start=row['start'],
-                                                            start_poster_name='a',
-                                                            start_poster_slug='a',
-                                                            last=row['last'],
-                                                            deleted=row['deleted'],
-                                                            closed=row['closed'],
-                                                            )
-
-    def mig_posts(self):
-        self.stdout.write('Migrating Posts...')
-        self.cursor.execute("SELECT * FROM threads_post");
-        for row in self.dictfetchall():
-            post = Post.objects.create(
-                                       forum=self.forums[row['forum_id']],
-                                       thread=self.threads[row['thread_id']],
-                                       merge=row['merge'],
-                                       user=(self.users[row['user_id']] if row['user_id'] else None),
-                                       user_name=row['user_name'],
-                                       ip=row['ip'],
-                                       agent=row['agent'],
-                                       post=row['post'],
-                                       post_preparsed=row['post_preparsed'],
-                                       upvotes=row['upvotes'],
-                                       downvotes=row['downvotes'],
-                                       checkpoints=row['checkpoints'],
-                                       date=row['date'],
-                                       edits=row['edits'],
-                                       edit_date=row['edit_date'],
-                                       edit_reason=row['edit_reason'],
-                                       edit_user=(self.users[row['edit_user_id']] if row['edit_user_id'] else None),
-                                       edit_user_name=row['edit_user_name'],
-                                       edit_user_slug=row['edit_user_slug'],
-                                       reported=row['reported'],
-                                       moderated=row['moderated'],
-                                       deleted=row['deleted'],
-                                       protected=row['protected'],
-                                       )
-
-            # Migrate post checkpoints
-            self.cursor.execute("SELECT * FROM threads_checkpoint WHERE post_id = %s" % row['id']);
-            for related in self.dictfetchall():
-                Checkpoint.objects.create(
-                                          forum=self.forums[row['forum_id']],
-                                          thread=self.threads[row['thread_id']],
-                                          post=post,
-                                          action=related['action'],
-                                          user=(self.users[related['user_id']] if related['user_id'] else None),
-                                          user_name=related['user_name'],
-                                          user_slug=related['user_slug'],
-                                          date=related['date'],
-                                          ip=related['ip'],
-                                          agent=related['agent'],
-                                          )
-
-            # Migrate post edits
-            self.cursor.execute("SELECT * FROM threads_change WHERE post_id = %s" % row['id']);
-            for related in self.dictfetchall():
-                Change.objects.create(
-                                      forum=self.forums[row['forum_id']],
-                                      thread=self.threads[row['thread_id']],
-                                      post=post,
-                                      user=(self.users[related['user_id']] if related['user_id'] else None),
-                                      user_name=related['user_name'],
-                                      user_slug=related['user_slug'],
-                                      date=related['date'],
-                                      ip=related['ip'],
-                                      agent=related['agent'],
-                                      reason=related['reason'],
-                                      thread_name_new=related['thread_name_new'],
-                                      thread_name_old=related['thread_name_old'],
-                                      post_content=related['post_content'],
-                                      size=related['size'],
-                                      change=related['change'],
-                                      )
-
-            # Migrate post karmas
-            self.cursor.execute("SELECT * FROM threads_karma WHERE post_id = %s" % row['id']);
-            for related in self.dictfetchall():
-                Karma.objects.create(
-                                     forum=self.forums[row['forum_id']],
-                                     thread=self.threads[row['thread_id']],
-                                     post=post,
-                                     user=(self.users[related['user_id']] if related['user_id'] else None),
-                                     user_name=related['user_name'],
-                                     user_slug=related['user_slug'],
-                                     date=related['date'],
-                                     ip=related['ip'],
-                                     agent=related['agent'],
-                                     score=related['score'],
-                                     )
-
-            # Migrate mentions
-            self.cursor.execute("SELECT * FROM threads_post_mentions WHERE post_id = %s" % row['id']);
-            for related in self.dictfetchall():
-                post.mentions.add(self.users[related['user_id']])
-
-    def mig_subs(self):
-        self.stdout.write('Migrating Subscribtions...')
-        self.cursor.execute("SELECT * FROM watcher_threadwatch");
-        for row in self.dictfetchall():
-            WatchedThread.objects.create( 
-                                         user=self.users[row['user_id']],
-                                         forum=self.forums[row['forum_id']],
-                                         thread=self.threads[row['thread_id']],
-                                         last_read=row['last_read'],
-                                         email=row['email'],
-                                         )
-
-    def sync_threads(self):
-        self.stdout.write('Synchronising Threads...')
-        for thread in Thread.objects.all():
-            thread.sync()
-            thread.save(force_update=True)
-
-    def sync_forums(self):
-        self.stdout.write('Synchronising Forums...')
-        for forum in Forum.objects.all():
-            forum.sync()
-            forum.save(force_update=True)
-
-    def dictfetchall(self):
-        desc = self.cursor.description
-        return [dict(zip([col[0] for col in desc], row)) for row in self.cursor.fetchall()]