【问题标题】:Flyway ignoring sql filesFlyway忽略sql文件
【发布时间】:2020-07-29 00:22:30
【问题描述】:

我在 jenkins 中使用 flyway 插件。

我有 3 个 sql 文件

  1. V1.0__1_C_OWNER.sql
  2. V1.1__C_USER_APLICACAO.SQL
  3. V1.2__C_DDL_DCL.SQL

只有第一个是通过flyway运行的

詹金斯输出

11:34:23 Flyway Community Edition 5.1.4 by Boxfuse
11:34:23     
11:34:24 Database: jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = db1.domain)(PORT = 1523))(CONNECT_DATA = (SERVICE_NAME = develop))) (Oracle 12.1)
11:34:24 Successfully validated 1 migration (execution time 00:00.022s)
11:34:24 Current version of schema "U_FLYWAY": 1.0
11:34:24 Schema "U_FLYWAY" is up to date. No migration necessary.
11:34:24 Result is already [Sucess], not changing

插件配置。

【问题讨论】:

    标签: jenkins-plugins flyway


    【解决方案1】:

    sqlMigrationSuffixes 的默认设置是小写的.sql.

    文件 2 和 3 的后缀均为大写:.SQL

    要么重命名文件以使用小写后缀,要么通过添加覆盖默认值:

    -sqlMigrationSuffixes=.sql,.SQL
    

    到 Jenkins 的 Other command line arguments 部分。

    【讨论】:

      【解决方案2】:
      1. 永远不要编辑现有文件。始终添加新文件并确保新添加的 SQL 文件版本号大于现有版本号。

      2. 如果它是一个存储过程,请确保包含 DROP PROCEDURE IF EXISTS [Procedure_name];这样就可以删除旧程序并使用新程序进行更新。

      【讨论】:

      • 虽然这些都是很好的提示,但答案与问题无关。 1) 我的示例是 3 个版本化文件。 2) 这不是问题。
      猜你喜欢
      • 2016-04-28
      • 1970-01-01
      • 2021-09-16
      • 2018-11-14
      • 2016-05-14
      • 2021-07-09
      • 2020-04-18
      • 2011-10-29
      • 2021-07-04
      相关资源
      最近更新 更多