Небольшой идеологический вопрос начинающего по созданию и модификации таблиц. Правильно ли я понимаю, что sqlAlchemy сам генерит создает новые таблицы в базе данных?
Насколько я понял, это происходит в момент вызова: metadata.create_all(engine)
Более того, насколько я понял, sqlAlchemy достаточно интеллектуален, чтобы при изменении кода и последующем его запуске определить, что часть таблиц в базе уже создана, а часть еще нет и досоздает недостающие.
Однако, если я добавляю поле в определение:
product_table = Table('product', metadata,
Column('name', String(30), primary_key = True),
Column('category', String(30)),
Column('fat', Integer),
Column('protein', Integer),
Column('carbo', Integer)
)
то sqlAlchemy уже не догадывается сделать alter table add column.
По крайне мере у меня так. Это действительно так? В таких случаях необъодимо модифициоровать таблицу ручками?