【发布时间】:2021-11-11 08:20:44
【问题描述】:
我有一个使用 Postgresql 和 maven 的 Spring Boot 应用程序。它使用 Flyway 迁移来迁移数据库更改。我想要一个特定的 SQL 文件,并通过命令运行它,以便在我需要时插入一些记录进行配置。
你能帮我处理一下吗?
【问题讨论】:
标签: java spring-boot maven
我有一个使用 Postgresql 和 maven 的 Spring Boot 应用程序。它使用 Flyway 迁移来迁移数据库更改。我想要一个特定的 SQL 文件,并通过命令运行它,以便在我需要时插入一些记录进行配置。
你能帮我处理一下吗?
【问题讨论】:
标签: java spring-boot maven
具体的话题在这里详述Spring Database Initialization。
基本按需要设置初始化值:
spring.datasource.platform=postgres
spring.jpa.hibernate.ddl-auto=update
spring.datasource.initialization-mode=always
....
例如(还有更多选项)如果您将文件 data.sql 放入资源中,它将被执行,您可以添加您的固定装置。
对于特定的Flyway迁移,您应该查看Execute Flyway Database Migrations on Startup。
基本上你添加每个新的迁移版本脚本,每次部署都会检查它。
【讨论】:
insert into users (...) select 'admin', ... from dual where not exists (select 1 from users where id = 'admin' 左右。但请记住,只有代码库更改所需的迁移才应添加到代码库中(不包括解决特定客户/部署问题的脚本)。