gpt4 book ai didi

java - Liquibase liquibase.exception.ValidationFailedException : Validation Failed:

转载 作者:行者123 更新时间:2023-12-01 21:22:06 30 4
gpt4 key购买 nike

我尝试将 int 列修改为 varchar,但从这里开始它给出了很多错误。

    @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 配置

<column name="status" type="INT"/>

我试图改变这里。或者我在 20160616145216 中添加了这个

<modifyDataType
columnName="status"
newDataType="varchar(255)"
tableName="merchant"/>

但是没有成功。

2 change sets check sum |
classpath:config/liquibase/changelog/20160616145216_create_merchant.xml::1466077959485-1:: (generated) is now: 7:5fb40924426396399804bb2cb7f74852
|
classpath:config/liquibase/changelog/20160720101800_load_data.xml::0000000000001-2:: (generated) is now: 7:aa0084f69ca5301ef48cfb97beb41582
| | | liquibase.exception.ValidationFailedException: Validation Failed: f | 2 change sets check sum |
classpath:config/liquibase/changelog/20160616145216_create_merchant.xml::1466077959485-1:: (generated) is now: 7:5fb40924426396399804bb2cb7f74852
|
classpath:config/liquibase/changelog/20160720101800_load_data.xml::0000000000001-2:: (generated) is now: 7:aa0084f69ca5301ef48cfb97beb41582
| | at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:215) | at liquibase.Liquibase.update(Liquibase.java:208) | at 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) | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) | at java.lang.Thread.run(Thread.java:745)

还有

rror: Unknown name value [0] for enum class [net.infoowl.fraud.domain.util.MerchantStatus]; nested exception is java.lang.IllegalArgumentException: Unknown name value [0] for enum class [net.infoowl.fraud.domain.util.MerchantStatus]

此外

当我在此之后进行比较时

<

modifyDataType
columnName="status"
newDataType="varchar(255)"
tableName="merchant"/>

它仍然没有转换为 varchar

最佳答案

您似乎修改了 Liquibase 已执行的 liquibase 变更集。不要这样做:恢复到以前的版本,并添加新的变更集。

然后添加另一个变更集(或任务),将该列中的所有 0 转换为“ACTIVE”,并将该列中的所有 1 转换为“PASSIVE”。

关于java - Liquibase liquibase.exception.ValidationFailedException : Validation Failed:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956219/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com