我正在与 Play 合作!1.2.4,我遇到了一个奇怪的问题。
据我所知,如果我将配置中的 jpa.ddl 设置为 create-drop,它应该删除我的表并重建并重新启动应用程序。
jpa.ddl=create-drop
我是否认为它只会删除并创建与已更改模型关联的表?我遇到了一个问题,我的模型已经改变,但它并没有丢表。我试图手动删除表格,但它不允许,因为它Cannot delete or update a parent row: a foreign key constraint fails
. 我理解这个问题并解决它,我可以手动删除我的整个表并重新启动我的应用程序,以便它从头开始构建表。
我的问题是,这是 Play 的问题吗!有这就是为什么它不更新该表的原因,如果是这样,有没有办法通过配置文件而不是手动删除我的表来解决它?
谢谢。
编辑
只是为了获得更多信息,我只是假设这是一个问题,并且可能完全不同,但这是我在日志中得到的:
Unsuccessful: create table Product
Table 'Product' already exists
我也刚刚意识到这个负载发生了变化。我曾经有过这样的关系
Product *-* Image
这是 Product 和 Image 表之间的多对多关系。Image 表现在不存在,并且关系将消失。但是,在我看来,图像表没有被删除,但产品表正试图被删除和重建。这可能会导致外键约束出现问题。如果它的模型不再存在,为什么 Play 不会删除该表?