Revision 3c41f3ef
b/snf-astakos-app/astakos/im/migrations/0016_auth_providers_and_projects.py | ||
---|---|---|
45 | 45 |
'ASTAKOS_MIGRATION_0045_DELETE_DUPLICATE_USER_IDS', |
46 | 46 |
[]) |
47 | 47 |
for pk in to_remove: |
48 |
orm.AstakosUser.objects.filter(pk=int(pk)).delete() |
|
48 |
try: |
|
49 |
u = orm.AstakosUser.objects.get(pk=int(pk)) |
|
50 |
print "Removing user: %s (%d)" % (u.email, u.pk) |
|
51 |
except Exception: |
|
52 |
msg = "You requested user with id %s to be removed but such user doesn't exist in database" % str(pk) |
|
53 |
raise Exception(msg) |
|
54 |
|
|
55 |
if orm.AstakosUser.objects.filter(email__iexact=u.email).count() == 1: |
|
56 |
msg = ("You requested user with duplicate email %s and id (%d) to" |
|
57 |
" be removed, but it seems that only one user exists with this" |
|
58 |
" email in the database.") % (u.email , pk) |
|
59 |
raise Exception(msg) |
|
60 |
else: |
|
61 |
orm.AstakosUser.objects.filter(pk=int(pk)).delete() |
|
49 | 62 |
|
50 | 63 |
for u in orm.AstakosUser.objects.all(): |
51 | 64 |
if orm.AstakosUser.objects.filter(email__iexact=u.email).count() > 1: |
... | ... | |
54 | 67 |
print "Duplicate email found in database" |
55 | 68 |
for e in existing: |
56 | 69 |
print "%d: %s (is_active: %s)" % (e.pk, e.email, e.is_active) |
57 |
keep = input("Select which user id you want to be preserved in the database: ")
|
|
70 |
keep = input("Select which user id you want to BE PRESERVED in the database: ")
|
|
58 | 71 |
if keep: |
59 | 72 |
for e in existing.exclude(pk=int(keep)): |
60 | 73 |
e.delete() |
Also available in: Unified diff