Move the sequence fixer to a separate tool which can be run

This commit is contained in:
Jake Moshenko 2016-04-01 13:38:21 -04:00
parent b9f47f6761
commit bd5b44cbd2
2 changed files with 53 additions and 31 deletions

View file

@ -15,39 +15,10 @@ import sqlalchemy as sa
import uuid
from peewee import CharField, IntegrityError
from util.migrate.fixsequences import reset_enum_sequences
def upgrade(tables):
from data.database import BaseModel
class_names = [
'TeamRole',
'LoginService',
'Visibility',
'Role',
'AccessTokenKind',
'BuildTriggerService',
'ImageStorageTransformation',
'ImageStorageSignatureKind',
'ImageStorageLocation',
'LogEntryKind',
'NotificationKind',
'ExternalNotificationEvent',
'ExternalNotificationMethod',
]
unique_name = '%s' % uuid.uuid4()
for class_name in class_names:
Model = type(class_name, (BaseModel,), {'name': CharField(index=True)})
for _ in xrange(50):
try:
Model.create(name=unique_name).delete_instance()
break
except IntegrityError:
pass
reset_enum_sequences()
def downgrade(tables):
pass