# HG changeset patch # User Marcin Kuzminski # Date 2012-02-26 18:31:17 # Node ID 9388e2888b721adc7fe4b85f0b2d76c4583f6ca7 # Parent 65e2ecfc433d0736959560ca160c81d8476a69a9 # Parent 872d5f0aafe456f32805fe8eaa819d4c57c57661 merge beta into default diff --git a/rhodecode/lib/dbmigrate/versions/005_version_1_3_0.py b/rhodecode/lib/dbmigrate/versions/005_version_1_3_0.py --- a/rhodecode/lib/dbmigrate/versions/005_version_1_3_0.py +++ b/rhodecode/lib/dbmigrate/versions/005_version_1_3_0.py @@ -26,17 +26,24 @@ def upgrade(migrate_engine): tbl = UserRepoToPerm().__table__ new_cons = UniqueConstraint('user_id', 'repository_id', 'permission_id', table=tbl) new_cons.create() - + old_cons = None if migrate_engine.name in ['mysql']: old_cons = UniqueConstraint('user_id', 'repository_id', table=tbl, name="user_id") - old_cons.drop() elif migrate_engine.name in ['postgresql']: old_cons = UniqueConstraint('user_id', 'repository_id', table=tbl) - old_cons.drop() else: # sqlite doesn't support dropping constraints... print """Please manually drop UniqueConstraint('user_id', 'repository_id')""" + if old_cons: + try: + old_cons.drop() + except Exception, e: + # we don't care if this fails really... better to pass migration than + # leave this in intermidiate state + print 'Failed to remove Unique for user_id, repository_id reason %s' % e + + #========================================================================== # fix uniques of table `user_repo_group_to_perm` #========================================================================== @@ -44,19 +51,26 @@ def upgrade(migrate_engine): tbl = UserRepoGroupToPerm().__table__ new_cons = UniqueConstraint('group_id', 'permission_id', 'user_id', table=tbl) new_cons.create() + old_cons = None # fix uniqueConstraints if migrate_engine.name in ['mysql']: #mysql is givinig troubles here... old_cons = UniqueConstraint('group_id', 'permission_id', table=tbl, name="group_id") - old_cons.drop() elif migrate_engine.name in ['postgresql']: old_cons = UniqueConstraint('group_id', 'permission_id', table=tbl, name='group_to_perm_group_id_permission_id_key') - old_cons.drop() else: # sqlite doesn't support dropping constraints... print """Please manually drop UniqueConstraint('group_id', 'permission_id')""" + if old_cons: + try: + old_cons.drop() + except Exception, e: + # we don't care if this fails really... better to pass migration than + # leave this in intermidiate state + print 'Failed to remove Unique for user_id, repository_id reason %s' % e + return