Добавление столбцов в существующие таблицы с использованием sqlalchemy - PullRequest
2 голосов
/ 30 июня 2011

Есть ли способ добавить столбцы в существующую таблицу, используя sqlalchemy? Глядя на параметры, кажется, что sqlalchemy-migrate является популярным вариантом, но, похоже, он разработан для статических изменений. Это также требует настройки БД для поддержки миграции и запуска сценариев за пределами моего основного приложения для обновления. Я хочу иметь возможность просто добавлять новые столбцы, а не удалять старые, чтобы сохранить данные, если отредактирован конкретный XML.

Меня не интересует защита этого дизайна, я просто хочу знать, есть ли способ.

1 Ответ

0 голосов
/ 27 июля 2011

Согласно документации SQLAlchemy Migrate , вы можете использовать модуль changeset независимо от версий SQLAlchmey Migrate.Таким образом, вы можете сделать что-то вроде:

from migrate.changeset import *

table = Table('mytable', meta,
              Column('id', Integer, primary_key=True)
        )
table.create()

col = Column('col1', String, default='foobar')
col.create(table, populate_default=True)
...