2016-03-04 87 views
0

我一直在Redshift数据库上使用Flyway 3.2.1(数据库迁移框架),没有任何问题。试图升级到Flyway 4.0,并得到如下所示的异常。Flyway 4.0升级在Amazon Redshift数据库上失败 - FlywaySqlScriptException

其他人遇到此问题&在我开始探讨源代码之前,有如何解决它的想法?

org.flywaydb.core.internal.dbsupport.FlywaySqlScriptException: 
Script failed 
------------- 
SQL State : XX000 
Error Code : 500310 
Message : [Amazon](500310) Invalid operation: cannot insert/update into table after dropping non-nullable column; 
Line  : 20 
Statement : UPDATE "public"."schema_version" SET "version_temp"="version" 
    at org.flywaydb.core.internal.dbsupport.SqlScript.execute(SqlScript.java:117) 
    at org.flywaydb.core.internal.metadatatable.MetaDataTableImpl.upgradeIfNecessary(MetaDataTableImpl.java:79) 
    at org.flywaydb.core.Flyway.execute(Flyway.java:1356) 
    at org.flywaydb.core.Flyway.migrate(Flyway.java:917) 

回答

0

请在问题跟踪器中提出问题。

作为解决方法,您还可以删除schema_version表和(重新)基准数据库。

+0

谢谢 - 很高兴知道有一种解决方法,尽管我们希望尽可能避免这样做。根据您的请求提交问题:[将AWS Redshift DB从Flyway 3.2.1升级到4.0失败 - 无法升级元数据表#1231](https://github.com/flyway/flyway/issues/1231)。 –

0

好消息是,这已被固定在Flyway 4.0.1(issue #1231)。感谢Axel Fontaine和Nathan Vick。