Найти - Пользователи
Полная версия: [sqlalchemy] - модификация таблиц
Начало » Базы данных » [sqlalchemy] - модификация таблиц
1
demas
Небольшой идеологический вопрос начинающего по созданию и модификации таблиц. Правильно ли я понимаю, что 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.

По крайне мере у меня так. Это действительно так? В таких случаях необъодимо модифициоровать таблицу ручками?
Андрей Светлов
да. Алхимия не содержит средства для автоматического изменения схемы данных.
Но есть довольно интересный проект sqlalchemy-migrate, предназначенный как раз для этого
bw
> По крайне мере у меня так. Это действительно так? В таких случаях необъодимо модифициоровать таблицу ручкам
Это так. Я модифицирую ручками. Но голова, возвышающаяся над этими ручками, достаточно продуманная, что бы избежать таких манипуляций вообще или просто частых.

p.s. С первого взгляда, migrate не понравился.

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB