mysql - 如何删除alembic上没有名称的外键的外键约束?

标签 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 的外键呢?

最佳答案

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

例如,可以像这样找到名称:

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

关于mysql - 如何删除alembic上没有名称的外键的外键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44381574/

相关文章:

mysql - 使用不同的方法将 ODBC 数据库分发到不同的机器有哪些缺陷和优点?

mysql - 点餐系统——数据库设计

java - 何时使用 JDBC 对连接、语句和结果集调用 getWarnings()?

sql - 数据库客户端特定表与关系表

sql - 在 Unix 中后台运行 sqlplus

php - 只获取每个用户的最后一条消息

mysql - 如何创建双外键

python - Alembic 自动生成不检测具有大小写混合名称的现有表

flask - Alembic/Flask-Migrate 未检测到 after_create 事件

python - 使用 Flask-Migrate 在多个分支上工作