如何在alembic上删除没有名字的外键的外键约束?

时间:2017-06-06 04:46:09

标签: mysql database alembic

我有一个我创建的表,如下所示

op.create_table('test',
                    sa.Column('userid', sa.String(length=60), nullable=False),
                    sa.Column('page_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(['userid'], ['map.userid']),
                )

我想添加一个ondelete =" CASCADE"对外键的约束。 我知道我们需要做drop_contraint和create_foreign_key。但是我如何drop_contraint在alembic中没有Name的外键?

1 个答案:

答案 0 :(得分:2)

如果创建了没有名称的ForeignKey,则会自动生成该名称。此名称的格式取决于您正在使用的数据库。

例如,可以找到名称:

    SELECT * 
    FROM information_schema.key_column_usage 
    WHERE table_name='$table_name';