【问题标题】:how to drop foreign key constraint for a foreign key with no name on alembic?如何在alembic上删除没有名称的外键的外键约束?
【发布时间】:2017-11-06 23:20:35
【问题描述】:

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

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 中没有名称的外键?

【问题讨论】:

  • 请用谷歌搜索你的标题。

标签: mysql database alembic


【解决方案1】:

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

可以找到名称,例如,如下所示:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2019-04-26
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多