Move the sequence fixer to a separate tool which can be run
This commit is contained in:
parent
b9f47f6761
commit
bd5b44cbd2
2 changed files with 53 additions and 31 deletions
|
@ -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
|
||||
|
|
Reference in a new issue