Amazon redshift 元数据表被多次创建,但使用Amazon Redshift数据库失败

Amazon redshift 元数据表被多次创建,但使用Amazon Redshift数据库失败,amazon-redshift,flyway,Amazon Redshift,Flyway,我使用带有flyway Gradle插件(3.2.1)的Gradle脚本(2.3版)将数据库更改部署到Amazon Redshift集群数据库中 Flyway plugin: 'org.flywaydb:flyway-gradle-plugin:3.2.1' Driver jar:'RedshiftJDBC41-1.1.2.0002.jar' Driver class: 'com.amazon.redshift.jdbc41.Driver' 现在的问题是元数据表被创建了两次,即在(a)元数

我使用带有flyway Gradle插件(3.2.1)的Gradle脚本(2.3版)将数据库更改部署到Amazon Redshift集群数据库中

Flyway plugin: 'org.flywaydb:flyway-gradle-plugin:3.2.1'
Driver jar:'RedshiftJDBC41-1.1.2.0002.jar'  
Driver class: 'com.amazon.redshift.jdbc41.Driver'
现在的问题是元数据表被创建了两次,即在(a)元数据和(b)自定义sql脚本执行之后再次创建

执行(gradle clean build flywayMigrate--debug)后,只有“test_schema.test_tbl”表存在,但红移数据库中不存在“test_schema.DB_schema_VER”。 请建议

完整的堆栈跟踪如下所示:

14:48:29.327 [INFO] [org.flywaydb.core.internal.metadatatable.MetaDataTableImpl] Creating Metadata table: "test_schema"."DB_SCHEMA_VER"
14:48:29.342 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Found statement at line 17: CREATE TABLE "test_schema"."DB_SCHEMA_VER" (
    "version_rank" INT NOT NULL,
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50) NOT NULL,
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT getdate(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
14:48:29.342 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Found statement at line 30: ALTER TABLE "test_schema"."DB_SCHEMA_VER" ADD CONSTRAINT "DB_SCHEMA_VER_pk" PRIMARY KEY ("version")
14:48:29.342 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Executing SQL: CREATE TABLE "test_schema"."DB_SCHEMA_VER" (
    "version_rank" INT NOT NULL,
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50) NOT NULL,
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT getdate(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
14:48:29.389 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Executing SQL: ALTER TABLE "test_schema"."DB_SCHEMA_VER" ADD CONSTRAINT "DB_SCHEMA_VER_pk" PRIMARY KEY ("version")
14:48:29.420 [DEBUG] [org.flywaydb.core.internal.metadatatable.MetaDataTableImpl] Metadata table "test_schema"."DB_SCHEMA_VER" created.
14:48:29.420 [DEBUG] [org.flywaydb.core.internal.dbsupport.Table] Locking table "test_schema"."DB_SCHEMA_VER"...
14:48:29.482 [DEBUG] [org.flywaydb.core.internal.dbsupport.Table] Lock acquired for table "test_schema"."DB_SCHEMA_VER"
14:48:29.498 [INFO] [org.flywaydb.core.internal.command.DbMigrate] Current version of schema "test_schema": << Empty Schema >>
14:48:29.498 [INFO] [org.flywaydb.core.internal.command.DbMigrate] Migrating schema "test_schema" to version 1.0.0.0001 - Create tables
14:48:29.498 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Found statement at line 8: create table test_schema.test_tbl
(
  code varchar(30),
  description varchar(50)
)
14:48:29.498 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Found statement at line 14: insert into test_schema.test_tbl (code, description) values ('a1', 'test description 1')
14:48:29.498 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Found statement at line 15: insert into test_schema.test_tbl (code, description) values ('a2', 'test description 2')
14:48:29.514 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Executing SQL: create table test_schema.test_tbl
(
  code varchar(30),
  description varchar(50)
)
14:48:29.545 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Executing SQL: insert into test_schema.test_tbl (code, description) values ('a1', 'test description 1')
14:48:29.576 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Executing SQL: insert into test_schema.test_tbl (code, description) values ('a2', 'test description 2')
14:48:29.716 [DEBUG] [org.flywaydb.core.internal.command.DbMigrate] Successfully completed and committed migration of schema "test_schema" to version 1.0.0.0001
14:48:29.732 [INFO] [org.flywaydb.core.internal.metadatatable.MetaDataTableImpl] Creating Metadata table: "test_schema"."DB_SCHEMA_VER"
14:48:29.732 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Found statement at line 17: CREATE TABLE "test_schema"."DB_SCHEMA_VER" (
    "version_rank" INT NOT NULL,
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50) NOT NULL,
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT getdate(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
14:48:29.732 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Found statement at line 30: ALTER TABLE "test_schema"."DB_SCHEMA_VER" ADD CONSTRAINT "DB_SCHEMA_VER_pk" PRIMARY KEY ("version")
14:48:29.732 [DEBUG] [org.flywaydb.core.internal.dbsupport.SqlScript] Executing SQL: CREATE TABLE "test_schema"."DB_SCHEMA_VER" (
    "version_rank" INT NOT NULL,
    "installed_rank" INT NOT NULL,
    "version" VARCHAR(50) NOT NULL,
    "description" VARCHAR(200) NOT NULL,
    "type" VARCHAR(20) NOT NULL,
    "script" VARCHAR(1000) NOT NULL,
    "checksum" INTEGER,
    "installed_by" VARCHAR(100) NOT NULL,
    "installed_on" TIMESTAMP NOT NULL DEFAULT getdate(),
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL
)
14:48:29.981 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':flywayMigrate'
14:48:29.981 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :flywayMigrate FAILED
14:48:29.981 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :flywayMigrate (Thread[main,5,main]) completed. Took 1.87 secs.
14:48:29.981 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[main,5,main]] finished, busy: 2.774 secs, idle: 0.016 secs
14:48:29.997 [LIFECYCLE] [org.gradle.BuildResultLogger] 
14:48:29.997 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
14:48:29.327[INFO][org.flywaydb.core.internal.metadatatable.MetaDataTableImpl]创建元数据表:“测试模式”,“数据库模式版本”
14:48:29.342[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]在第17行找到语句:创建表“test\u schema”。“DB\u schema\u VER”(
“version_rank”INT不为空,
“installed_rank”INT不为空,
“版本”VARCHAR(50)不为空,
“description”VARCHAR(200)不为空,
“type”VARCHAR(20)不为空,
“script”VARCHAR(1000)不为空,
“校验和”整数,
“安装方”VARCHAR(100)不为空,
“installed_on”时间戳非空默认getdate(),
“执行时间”整数不为空,
“成功”布尔值不为空
)
14:48:29.342[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]在第30行找到语句:ALTER TABLE“test_schema”。“DB_schema_VER”添加约束“DB_schema_VER_pk”主键(“version”)
14:48:29.342[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]正在执行SQL:创建表“test\u schema”。“DB\u schema\u VER”(
“version_rank”INT不为空,
“installed_rank”INT不为空,
“版本”VARCHAR(50)不为空,
“description”VARCHAR(200)不为空,
“type”VARCHAR(20)不为空,
“script”VARCHAR(1000)不为空,
“校验和”整数,
“安装方”VARCHAR(100)不为空,
“installed_on”时间戳非空默认getdate(),
“执行时间”整数不为空,
“成功”布尔值不为空
)
14:48:29.389[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]执行SQL:ALTER表“test\u schema”。“DB\u schema\u VER”添加约束“DB\u schema\u VER\u pk”主键(“版本”)
14:48:29.420[调试][org.flywaydb.core.internal.metadatatable.MetaDataTableImpl]元数据表“测试模式”。“DB模式版本”已创建。
14:48:29.420[DEBUG][org.flywaydb.core.internal.dbsupport.Table]锁定表“测试模式”。“数据库模式版本”。。。
14:48:29.482[DEBUG][org.flywaydb.core.internal.dbsupport.Table]为表“test\u schema.”“DB\u schema\u VER”获取锁
14:48:29.498[INFO][org.flywaydb.core.internal.command.DbMigrate]模式“测试模式”的当前版本:
14:48:29.498[INFO][org.flywaydb.core.internal.command.DbMigrate]将模式“测试模式”迁移到版本1.0.0.0001-创建表
14:48:29.498[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]在第8行找到语句:createtable test\u schema.test\u tbl
(
代码varchar(30),
说明varchar(50)
)
14:48:29.498[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]在第14行找到语句:插入到test_schema.test_tbl(代码,描述)值('a1','test description 1')
14:48:29.498[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]在第15行找到语句:插入到test_schema.test_tbl(代码,描述)值('a2','test description 2')中
14:48:29.514[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]执行SQL:create table test\u schema.test\u tbl
(
代码varchar(30),
说明varchar(50)
)
14:48:29.545[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]执行SQL:insert-into-test\u schema.test\u-tbl(代码,描述)值('a1','test description 1')
14:48:29.576[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]执行SQL:insert-into-test\u schema.test\u-tbl(代码,描述)值('a2','test description 2')
14:48:29.716[DEBUG][org.flywaydb.core.internal.command.DbMigrate]成功完成并提交了架构“test_schema”到版本1.0.0.0001的迁移
14:48:29.732[INFO][org.flywaydb.core.internal.metadatatable.MetaDataTableImpl]创建元数据表:“测试模式”。“数据库模式版本”
14:48:29.732[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]在第17行找到语句:创建表“test\u schema”。“DB\u schema\u VER”(
“version_rank”INT不为空,
“installed_rank”INT不为空,
“版本”VARCHAR(50)不为空,
“description”VARCHAR(200)不为空,
“type”VARCHAR(20)不为空,
“script”VARCHAR(1000)不为空,
“校验和”整数,
“安装方”VARCHAR(100)不为空,
“installed_on”时间戳非空默认getdate(),
“执行时间”整数不为空,
“成功”布尔值不为空
)
14:48:29.732[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]在第30行找到语句:ALTER TABLE“test_schema”。“DB_schema_VER”添加约束“DB_schema_VER_pk”主键(“version”)
14:48:29.732[DEBUG][org.flywaydb.core.internal.dbsupport.SqlScript]执行SQL:创建表“test\u schema”。“DB\u schema\u VER”(
“version_rank”INT不为空,
“installed_rank”INT不为空,
“版本”VARCHAR(50)不为空,
“description”VARCHAR(200)不为空,
“type”VARCHAR(20)不为空,
“script”VARCHAR(1000)不为空,
“校验和”整数,
“安装方”VARCHAR(100)不为空,
“installed_on”时间戳非空默认getdate(),
“执行时间”整数不为空,
“成功”布尔值不为空
)
14:48:29.981[DEBUG][org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter]已完成执行任务“:flywayMigrate”
14:48:29.981[生命周期][classorg.gradle.TaskExecutionLogger]:flywayMigrate失败
14:48:29.981[INFO][org.gradle.execution.taskgraph.AbstractTaskPlanExecutor]:flywayMigrate(线程[main,5,main])已完成。花了1.87秒。
14:48:29.981[DEBUG][org.gradle.execution.taskgraph.AbstractTaskPlanExecutor]任务工作者[Thread[main,5,main]