2016-03-04 86 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。