首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将列添加到SQLAlchemy表

将列添加到SQLAlchemy表
EN

Stack Overflow用户
提问于 2011-09-05 01:32:44
回答 10查看 81.4K关注 0票数 46

我使用SQLAlchemy制作了一个表,但忘记添加一列。我基本上想这样做:

代码语言:javascript
运行
复制
users.addColumn('user_id', ForeignKey('users.user_id'))

它的语法是什么?我在文档里找不到。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2011-09-05 01:35:40

这称为数据库迁移(SQLAlchemy不支持开箱即用的迁移)。您可以考虑使用sqlalchemy-migrate在这类情况下提供帮助,或者只需通过所选数据库的命令行实用程序使用ALTER TABLE

票数 26
EN

Stack Overflow用户

发布于 2013-06-22 03:42:54

我也有同样的问题,一想到只为这些微不足道的事情使用迁移库,我就不由自主地

颤抖吧。无论如何,这是我到目前为止的尝试:

代码语言:javascript
运行
复制
def add_column(engine, table_name, column):
    column_name = column.compile(dialect=engine.dialect)
    column_type = column.type.compile(engine.dialect)
    engine.execute('ALTER TABLE %s ADD COLUMN %s %s' % (table_name, column_name, column_type))

column = Column('new_column_name', String(100), primary_key=True)
add_column(engine, table_name, column)

尽管如此,我仍然不知道如何将primary_key=True插入到原始SQL请求中。

票数 50
EN

Stack Overflow用户

发布于 2012-04-26 16:07:55

请参阅SQLAlchemy文档的这一部分:http://docs.sqlalchemy.org/en/latest/core/metadata.html#altering-schemas-through-migrations

Alembic是提供此类型功能的最新软件,并且与SQLAlchemy由同一作者开发。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7300948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档