如何通过 spring-boot
检查数据库架构是否已存在,则不运行,但如果没有匹配的架构则运行。我可以通过 spring-boot Flyway 集成执行以下操作吗?
- DEV - 已经具有与 sql 脚本匹配的数据库表(例如
V1_Baseline.sql
具有表创建和引用数据),因此不应运行此命令,但需要创建内部 SCHEMA_VERSION 表并进行该脚本已经运行,因此 V2_....sql 接下来将运行) - TEST - 具有不应删除的表,但需要运行脚本并创建内部 SCHEMA_VERSION 表。
- PROD - 这是空的。所以应该不存在任何问题(与我猜测的测试相同)。
来自flyway
site我看到了这个:
flyway clean
(无法运行 - 不应丢弃任何内容)
flyway 基线
(我认为这是我需要的?检查当前数据库是否匹配,然后将当前脚本作为基线,如果不运行脚本则不运行)
here 上没有具体内容spring io 也是如此 baeldung也是。
我认为答案就在这里,基线
并做了一些检查,但不确定什么有效。
最佳答案
基线确实是您所需要的,因为它正是满足这个目的。
关于java - Flyway/springboot - 配置为在生产/测试上运行,但不在开发上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349744/