You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Liquibase实现Spring每次启动时执行指定SQL文件

解决方案

Liquibase默认每个changeSet仅会执行一次,执行记录会存入DATABASECHANGELOG系统表,后续启动时会校验执行记录,已经运行过的changeSet不会重复触发。要让你的SQL文件每次启动都执行,只需给对应changeSet添加runAlways: true属性即可,同时你原配置中sqlFile下多了不必要的列表符号,需要同步修正:

databaseChangeLog:
  - changeSet:
      id: 0001
      author: test
      dbms: postgres
      runAlways: true # 新增该行,标记该changeSet每次启动都要执行
      changes:
        - sqlFile:
            relativeToChangelogFile: true
            path: data.sql

注意事项

  • 该配置仅适合测试环境使用,生产环境请勿开启,避免反复插入重复数据或者覆盖生产数据
  • 如果需要避免重复插入报错,可以在data.sql的开头添加对应表的TRUNCATE语句先清理历史测试数据
  • 如果同时开启了Spring原生的spring.sql.init系列初始化配置,建议关闭,避免和Liquibase的执行逻辑冲突

内容的提问来源于stack exchange,提问作者Peter Penzov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:30:01