在另一列之后添加列
Posted
技术标签:
【中文标题】在另一列之后添加列【英文标题】: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 中它有助于大型表的可读性。
【问题讨论】:
这里有答案:***.com/questions/17541312/… @mba12:那是关于 SQL 语法,而不是关于如何使用 SQLAlchemy 的工具来做到这一点。 【参考方案1】:试试这个查询:
ALTER TABLE table_name ADD New_column_name column_definition AFTER column_name;
【讨论】:
【参考方案2】:使用ALTER
和AFTER
来指定放置列的位置。
ALTER TABLE foo
CHANGE COLUMN foo1 foo1 INT(10) UNSIGNED NULL DEFAULT NULL AFTER foo2;
【讨论】:
是的,这就是 OP 希望使用 SQLAlchemy 模式迁移管理工具(例如 Alembic 或 SQLAlchemy-Migrate)生成的语法。你的回答不包括那个。以上是关于在另一列之后添加列的主要内容,如果未能解决你的问题,请参考以下文章
使用 docrine 模式在 symfony 中的另一列之后添加新列