我試圖將int列修改爲varchar,但是它給出了很多以此開始的錯誤。Liquibase liquibase.exception.ValidationFailedException:驗證失敗:
@NotNull
@Column(nullable = false)
@Enumerated(value = EnumType.STRING)
private MerchantStatus status;
public MerchantStatus getStatus() {
return status;
}
public Merchant setStatus(MerchantStatus status) {
this.status = status;
return this;
}
這是域中的列。它是枚舉。
這是枚舉
public enum MerchantStatus {
ACTIVE("merchant.status.active"),
PASSIVE("merchant.status.passive");
private String key;
MerchantStatus(String key) {
this.key = key;
}
public String getKey() {
return key;
}
}
這是liquibase CONFG
<column name="status" type="INT"/>
我試圖改變這裏。或者我在裏面添加了這個20160616145216
<modifyDataType
columnName="status"
newDataType="varchar(255)"
tableName="merchant"/>
但它沒有工作。
2 change sets check sum |
類路徑:配置/ liquibase /更改日誌/ 20160616145216_create_merchant.xml :: 1466077959485-1 :: (生成)現在是:7:5fb40924426396399804bb2cb7f74852
|
classpath:config/liquibase/changelog/20160720101800_load_data.xml :: 0000000000001-2 :: (generated)現在是:7:aa0084f69ca5301ef48cfb97beb41582
| | | liquibase.exception.ValidationFailedException:驗證失敗: f | 2改變集合校驗和|
類路徑:配置/ liquibase /更改日誌/ 20160616145216_create_merchant.xml :: 1466077959485-1 :: (生成)現在是:7:5fb40924426396399804bb2cb7f74852
|
類路徑:配置/ liquibase /更改日誌/ 20160720101800_load_data.xml :: 0000000000001-2 :: (生成)現在是:7:aa0084f69ca5301ef48cfb97beb41582
| |在 liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:215) | (liquibase.java:208) |在liquibase.Liquibase.update(Liquibase.java:192) | at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:434) | at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:391) | at net.infoowl.fraud.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:63) 1 | at net.infoowl.fraud.config.liquibase.AsyncSpringLiquibase.lambda $ afterPropertiesSet $ 0(AsyncSpringLiquibase.java:49) |在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) |在 java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) |在java.lang.Thread.run(Thread.java:745)
也
RROR:未知的名稱值[0],枚舉類 [net.infoowl.fraud.domain.util .MerchantStatus];嵌套異常是 java.lang.IllegalArgumentException:枚舉的未知名稱值[0] class [net.infoowl.fraud.domain.util。MerchantStatus]
此外
還當我做差異這
<
modifyDataType
columnName="status"
newDataType="varchar(255)"
tableName="merchant"/>
後仍然不列入轉換爲varchar
您似乎已經修改了Liquibase已經執行的liquibase變更集。不要這樣做:恢復到以前的版本,並添加一個新的變更集。 –
它是否適合changeset?還當我在此之後 做差異 它仍然不列入轉換爲varchar –
fff
你是什麼意思?你期望會發生什麼以及會發生什麼? –