使用sqlalchemy将列添加到现有表

时间:2011-06-29 23:40:57

标签: sqlalchemy sqlalchemy-migrate

有没有办法使用sqlalchemy将列添加到现有表中?看看选项,似乎sqlalchemy-migrate是流行的选择,但它似乎是围绕静态变化设计的。它还需要设置数据库以支持迁移和运行主应用程序之外的脚本以进行更新。我希望能够简单地添加新列,而不是删除旧列以在编辑特定xml时维护数据。

我对保护这个设计不感兴趣,我只是想知道是否有办法。

1 个答案:

答案 0 :(得分:0)

根据SQLAlchemy Migrate documentation,您可以独立于SQLAlchemy Migrate版本使用changeset模块。因此,您可以执行以下操作:

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)