【问题标题】:Add column after another column在另一列之后添加列
【发布时间】:2015-08-08 07:05:48
【问题描述】:

如何使用 Alembic 或 SQLAlchemy 将另一列添加到数据库中?这相当于this SQL clause

ALTER TABLE foo
CHANGE COLUMN bar
bar COLUMN_DEFINITION_HERE
AFTER OTHER_COLUMN;
-- or
ALTER TABLE foo ADD COLUMN baz AFTER bar;

我也尝试了this mailing list thread 中的建议,但没有帮助。

虽然查询时顺序无关紧要,但在 SQL shell 中它有助于大型表的可读性。

【问题讨论】:

标签: python mysql sqlalchemy alembic


【解决方案1】:

试试这个查询:

ALTER TABLE table_name ADD New_column_name column_definition AFTER column_name;

【讨论】:

    【解决方案2】:

    使用ALTERAFTER 来指定放置列的位置。

    ALTER TABLE foo 
    CHANGE COLUMN foo1 foo1 INT(10) UNSIGNED NULL DEFAULT NULL AFTER foo2;
    

    【讨论】:

    • 是的,这就是 OP 希望使用 SQLAlchemy 模式迁移管理工具(例如 Alembic 或 SQLAlchemy-Migrate)生成的语法。你的回答不包括那个。
    猜你喜欢
    • 1970-01-01
    • 2020-03-08
    • 2020-08-24
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    相关资源
    最近更新 更多