Spring执行ddl启动异常错误

Spring boot exception error executing ddl

美好的一天,我想

我正在学习 spring boot 并从事小项目以扩展我的知识。

我在启动 spring 引导应用程序时遇到异常,我不知道如何解决。

这是异常消息的一部分

Hibernate: alter table token add constraint FK79keudebybjlldk2o4i0nwqev foreign key (user_user_id) references user
2022-05-18 12:01:20.531  WARN 9092 --- [           main] o.h.t.s.i.ExceptionHandlerLoggedImpl     : GenerationTarget encountered exception accepting command : Error executing DDL "alter table token add constraint FK79keudebybjlldk2o4i0nwqev foreign key (user_user_id) references user" via JDBC Statement

我不知道问题出在哪里,所以这里是 link 到存储库。据我所知,一切都应该安全可靠地进行;(

githubRepo

Spring 引导可能被配置为具有 spring.jpa.hibernate.ddl-auto=update,这意味着它会在需要时更新架构以匹配 spring 应用程序的域层。

考虑到模式已经包含一些数据(table 条记录),Spring 尝试更新 table 以具有约束,但现有的约束没有得到遵守数据,因此 DDL 失败。

清理上述 table 的数据可能允许 spring 执行 DDL 脚本以应用上述约束。

否则您可以切换到 spring.jpa.hibernate.ddl-auto=create,其中 Spring 将首先从数据库中删除所有 table,这也意味着删除现有数据,然后重新创建架构。这会产生任何先前数据都不会违反约束的效果。因此 spring 将能够继续使用 DDL。