java - Flyway/springboot - 配置为在生产/测试上运行,但不在开发上运行

标签 java spring-boot database-migration flyway

如何通过 spring-boot 检查数据库架构是否已存在,则不运行,但如果没有匹配的架构则运行。我可以通过 spring-boot Flyway 集成执行以下操作吗?

  1. DEV - 已经具有与 sql 脚本匹配的数据库表(例如 V1_Baseline.sql 具有表创建和引用数据),因此不应运行此命令,但需要创建内部 SCHEMA_VERSION 表并进行该脚本已经运行,因此 V2_....sql 接下来将运行)
  2. TEST - 具有不应删除的表,但需要运行脚本并创建内部 SCHEMA_VERSION 表。
  3. PROD - 这是空的。所以应该不存在任何问题(与我猜测的测试相同)。

来自flyway site我看到了这个:

flyway clean(无法运行 - 不应丢弃任何内容)

flyway 基线(我认为这是我需要的?检查当前数据库是否匹配,然后将当前脚本作为基线,如果不运行脚本则不运行)

here 上没有具体内容spring io 也是如此 baeldung也是。

我认为答案就在这里,基线并做了一些检查,但不确定什么有效。

最佳答案

基线确实是您所需要的,因为它正是满足这个目的。

关于java - Flyway/springboot - 配置为在生产/测试上运行,但不在开发上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349744/

相关文章:

java - 如何使用类名 Autowiring Spring 服务?

java - 如何比较 Jtable 中的当前日期和给定日期?

用于解决性能问题的 Java 分析器

java - Spring Boot从AWS参数存储中读取参数

php - Laravel 5.0,迁移 : how to make integer not a primary key?

java - 在每个项目的左侧和右侧列出文本? (安卓)

maven - io.fabric8:docker-maven-plugin:0.15.3:build失败

java - Spring Boot应用程序无法在Eclipse Oxygen中启动

php - 如何更新 Laravel 中表内列的数据类型?

ruby - `clear_transaction_record_state' : undefined method `[]' for nil:NilClass when creating a record Ruby