【发布时间】:2021-10-28 19:18:55
【问题描述】:
我想创建一个 SQL 初始化文件,以便在每次 Spring 启动时填充测试数据:
databaseChangeLog:
- changeSet:
id: 0001
author: test
dbms: postgres
changes:
- sqlFile:
- relativeToChangelogFile: true
- path: data.sql
你知道我如何将它配置为在每次 Spring 启动时执行吗?
【问题讨论】:
-
如果这是用于测试用例,您可以使用使用 hsqldb 或 h2 的内存数据库,这些数据库仅在进程运行时存在,因此 liquibase 将应用所有变更集。但是,如果您使用的是像 postgres 这样的持久性数据库,则 liquibase 只会执行之前尚未执行过的变更集。在这种情况下,您可能希望使用其他机制来始终在启动时执行 sql 脚本。
-
好的,如何在启动期间始终执行 SQL 脚本?
-
如果这是为单元测试填充测试数据,您可以使用类似 dbrider github.com/database-rider/database-rider
标签: spring spring-boot liquibase