Sql 具有未知外键约束的Slick-drop表

Sql 具有未知外键约束的Slick-drop表,sql,scala,jdbc,slick,slick-2.0,Sql,Scala,Jdbc,Slick,Slick 2.0,我有一个应用程序,可以根据需要在格式更改时创建表。当这些表没有通过简单的功能测试时,它们将被删除并再次创建。到目前为止,这非常有效,但现在我改变了一些限制条件:我更改了主键并添加了外键 现在,删除失败,但出现异常: org.h2.jdbc.JdbcSQLException: Constraint "PERSON_ID" not found; SQL statement: alter table "GARDEN" drop constraint "PERSON_ID" [90057-178] d

我有一个应用程序,可以根据需要在格式更改时创建表。当这些表没有通过简单的功能测试时,它们将被删除并再次创建。到目前为止,这非常有效,但现在我改变了一些限制条件:我更改了主键并添加了外键

现在,删除失败,但出现异常:

org.h2.jdbc.JdbcSQLException: Constraint "PERSON_ID" not found; SQL statement:
alter table "GARDEN" drop constraint "PERSON_ID" [90057-178]
drop语句如下所示:

alter table "GARDEN" drop constraint "PERSON_ID"
alter table "GARDEN" drop constraint "PRIMARY_KEY"
drop table "GARDEN"
问题在于,此drop语句对于所需的表格式有效,但对于以前使用的格式无效(即被检测为不可用并触发drop的表格式)


如何在不考虑约束的情况下删除表?(我总是删除所有相关的表-因此在这种情况下我不需要约束检查)

我不熟悉框架,但是如果约束应该在新表而不是旧表上,您可能需要更改属性分配的位置。话虽如此,请查看详细信息。

如果您告诉Slick存在约束,则Slick会在放下桌子时尝试放下约束。可以使用显式运行所需的SQL语句。您还可以在驱动程序中使用Slick2的
createModel
,检查约束条件,然后有条件地执行操作