Only add the constraint if we need to. Catch an exception if we don't.

Also, updating the comment about sqlite being crazy :)
This commit is contained in:
Christopher Allan Webber 2014-08-07 16:29:45 -05:00
parent 3a8d0e145e
commit e6288a68e1

View File

@ -860,8 +860,8 @@ def revert_username_index(db):
replace_table_hack(db, user_table, new_user_table)
else:
# If the db is not run using SQLite, this process is much simpler...
# ...as usual ;)
# If the db is not run using SQLite, we don't need to do crazy
# table copying.
# Remove whichever of the not-used indexes are in place
if u'ix_core__users_uploader' in indexes:
@ -872,9 +872,13 @@ def revert_username_index(db):
index.drop()
db.commit()
# Add the unique constraint
constraint = UniqueConstraint(
'username', table=user_table)
constraint.create()
try:
# Add the unique constraint
constraint = UniqueConstraint(
'username', table=user_table)
constraint.create()
except ProgrammingError:
# constraint already exists, no need to add
pass
db.commit()