首页 > 解决方案 > Jetbrains Exposed 生成重复的外键

问题描述

我有这个表架构:

object ValuesTable : IntIdTable("values") {
    val parameter =
        reference("parameters", ParametersTable, onDelete = ReferenceOption.CASCADE, onUpdate = ReferenceOption.CASCADE)
    val service =
        reference("services", ServicesTable, onDelete = ReferenceOption.CASCADE, onUpdate = ReferenceOption.CASCADE)
    val values = text("actual_values")
}

当暴露尝试创建我的表时,我得到`java.sql.SQLException:重复的外键约束名称'fk_values_parameters_id'。我尝试手动添加不同的fkName,也尝试使用以大写开头的不同表名。

MySQL 版本为:x86_64 上的 macos10.15 版本 8.0.19(MySQL 社区服务器 - GPL)

标签: mysqlktorkotlin-exposed

解决方案


问题似乎是造成的SchemaUtils.createMissingTablesAndColumns()。使用简单地SchemaUtils.create()按预期工作


推荐阅读