add_column
add_column(table_name: str, column: Column, schema: Optional[str] = None) → Optional[Table]
Issue an “add column” instruction using the current migration context.
使用当前迁移上下文发出“添加列”指令。
e.g.:
from alembic import op
from sqlalchemy import Column, String
op.add_column('organization',
Column('name', String())
)
The provided Column object can also specify a ForeignKey, referencing a remote table name. Alembic will automatically generate a stub “referenced” table and emit a second ALTER statement in order to add the constraint separately:
提供的 Column 对象还可以指定一个 ForeignKey,引用一个远程表名。 Alembic 将自动生成一个存根“引用”表并发出第二个 ALTER 语句,以便单独添加约束:
from alembic import op
from sqlalchemy import Column, INTEGER, ForeignKey
op.add_column('organization',
Column('account_id', INTEGER, ForeignKey('accounts.id'))
)
Note that this statement uses the Column construct as is from the SQLAlchemy library. In particular,
default
values to be created on the database side are specified using theserver_default
parameter, and notdefault
which only specifies Python-side defaults:
注意: 该语句使用 SQLAlchemy 库中的 Column 构造。 特别是,要在数据库端创建的默认值是使用
server_default
参数指定的,而不是default
,它只指定 Python 端的默认值:
Parameters:
参数:
- table_name – String name of the parent table.
- column – a sqlalchemy.schema.Column object representing the new column.
- schema – Optional schema name to operate within. To control quoting of the schema outside of the default behavior, use the SQLAlchemy construct quoted_name.
- table_name – 父表的字符串名称。
- column – 表示新列的 sqlalchemy.schema.Column 对象。
- schema – 要在其中操作的可选 schema 名称。 要控制默认行为之外的 schema 引用,请使用 SQLAlchemy 构造 quoted_name。