2015-09-12 3 views
1

Я использую SQLAlchemy + alembic для управления моей базой данных. У меня было строковое поле длиной 10 символов, а позже выяснилось, что ему должно быть 20. Поэтому я обновил определение модели.MySQL DB migration: изменение длины строки

class Foo(db.Model): 
    __tablename__ = 'foos' 
    id = db.Column(db.Integer, primary_key=True) 
    foo_id = db.Column(db.Integer, db.ForeignKey('users.id')) 
    name = db.Column(db.String(80)) 

Когда я запустил alembic revision --autogenerate, это не было обнаружено. Теперь я прочитал документацию и предположил, что это может не поддерживаться. Как мне удалось изящно управлять такими изменениями в БД?

ответ

2

Вам необходимо включить дополнительный тип столбца checking. См. this для заметок о том, что проверено по умолчанию

context.configure(
    # ... 
    compare_type = True 
) 
Смежные вопросы