繁体   English   中英

Spring Boot data.sql避免每次启动时多次执行

[英]Spring boot data.sql avoid multiple execution on every startup

Spring boot提供了一个很棒的选项,可以在启动时使用data.sql将初始数据加载到数据库中。 问题是,我有一个表,其中的列是唯一的,并且spring尝试在每次启动时执行sql,并且如果已经存在数据则失败。 现在的问题是,处理这种情况的正确方法是什么,有什么方法可以告诉spring什么时候执行和什么时候不执行data.sql文件。 谢谢

您有几种选择:

  • 使用spring.datasource.initialize=false禁用启动时的数据库初始化
  • 使用spring.datasource.continue-on-error=true关闭Spring Boot的快速失败行为

第二种选择是让您的Spring Boot应用程序正常运行,方法是忽略脚本执行引起的任何异常。

Spring Boot文档

如果以上两个选项都不符合您的要求,如Darren Forsythe在评论中所述,请考虑使用数据迁移工具,例如Flyway或Liquibase。 Spring Boot为这两种工具提供了强大的支持。 检查这个出来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM