flyway / springboot-配置为在生产/测试上运行,但不能在dev上运行

时间:2019-05-28 20:37:31

标签: 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 baseline(我想这是我需要的吗?检查当前数据库是否匹配,然后仅将当前脚本作为基准,如果不运行脚本就不要运行)

here春季和baeldung上也没有具体内容。

我认为答案是baseline,并进行了一些检查,但不确定是否有效。

1 个答案:

答案 0 :(得分:0)

基线确实是您所需要的,因为它可以满足此确切目的。