Spring boot提供了使用data.sql在启动时将初始数据加载到数据库中的绝佳选择。问题是,我有一个表,其中列是唯一的,spring会尝试在每次启动时执行sqls,如果数据已经存在则会失败。现在问题是,处理这种情况的正确方法是什么,有没有办法告诉spring何时执行以及何时不执行data.sql文件。谢谢
答案 0 :(得分:1)
您有几种选择:
spring.datasource.initialize=false
spring.datasource.continue-on-error=true
第二个选项会让您的Spring Boot应用程序通过忽略脚本执行引起的任何异常来正常启动。
如果上述两个选项都不符合您的要求,正如Darren Forsythe在评论中提到的那样,请考虑像Flyway或Liquibase这样的数据迁移工具。 Spring boot为这两种工具提供了很好的支持。检查this。