Skip to content
This repository has been archived by the owner on Aug 4, 2021. It is now read-only.

Commit

Permalink
make user/group more than one time callable
Browse files Browse the repository at this point in the history
  • Loading branch information
jedie committed Jul 23, 2015
1 parent b6e03c9 commit 10da6f3
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions pylucid_migration/management/migrate_base.py
Expand Up @@ -107,6 +107,8 @@ def flush(self):


class MigrateBaseCommand(BaseCommand):
requires_system_checks=False

option_list = BaseCommand.option_list + (
make_option('--inline_script',
action='store_true',
Expand Down Expand Up @@ -176,16 +178,27 @@ def _migrate_user(self, options):
self.stdout.write("\nMigrate users:")
self.USER_MAP={}
for user in User.objects.using("legacy").all():
self.stdout.write("\tUser: %s" % user.username)
user_old_pk = user.pk
user.pk = None
user.save(using="default")

try:
user = User.objects.using("default").get(username=user.username)
except User.DoesNotExist:
self.stdout.write("\tCreate user: %s" % user.username)
user.pk = None
user.save(using="default")
else:
self.stdout.write("\tUse existing user: %s" % user.username)

self.USER_MAP[user_old_pk] = user

def _migrate_group(self, options):
self.stdout.write("\nMigrate user group:")
for group in Group.objects.using("legacy").all():
self.stdout.write("\tGroup: %s" % group.name)
if Group.objects.using("default").filter(name=group.name):
self.stdout.write("\tSkip existing group: %s" % group.name)
continue

self.stdout.write("\tCreate group: %s" % group.name)
group.pk = None
group.save(using="default")

Expand Down

0 comments on commit 10da6f3

Please sign in to comment.