upgrade: 1、升级autotable、mybatisflex 到最新版本 2、移除自动生成的实体代码

This commit is contained in:
ruying408
2025-09-13 00:44:42 +08:00
parent 91b26375ef
commit 405472a9b2

View File

@@ -1,53 +0,0 @@
package org.dromara.autotable.core.strategy.pgsql.builder;
import org.dromara.autotable.annotation.enums.DefaultValueEnum;
import org.dromara.autotable.core.strategy.ColumnMetadata;
import org.dromara.autotable.core.utils.StringConnectHelper;
import org.dromara.autotable.core.utils.StringUtils;
/**
* 列相关的SQL生成器
* 覆盖原始的ColumnSqlBuilder GENERATED ALWAYS AS IDENTITY 改为 GENERATED BY DEFAULT AS IDENTITY
* 已提issues https://gitee.com/dromara/auto-table/issues/IC6TR5
*/
public class ColumnSqlBuilder {
/**
* 生成字段相关的SQL片段
*
* @param columnMetadata 列元数据
* @return 列相关的sql
*/
public static String buildSql(ColumnMetadata columnMetadata) {
// 例子:"name" varchar(100) NULL DEFAULT '张三' COMMENT '名称'
// 例子:"id" int4(32) NOT NULL AUTO_INCREMENT COMMENT '主键'
StringConnectHelper sql = StringConnectHelper.newInstance("{columnName} {typeAndLength} {null} {default}")
.replace("{columnName}", columnMetadata.getName())
.replace("{typeAndLength}", () -> columnMetadata.getType().getDefaultFullType());
// 如果是自增列则使用GENERATED ALWAYS AS IDENTITY, 忽略not null和默认值的配置
if (columnMetadata.isAutoIncrement()) {
return sql.replace("{null} {default}", "GENERATED BY DEFAULT AS IDENTITY").toString();
}
return sql.replace("{null}", columnMetadata.isNotNull() ? "NOT NULL" : "")
.replace("{default}", () -> {
// 指定NULL
DefaultValueEnum defaultValueType = columnMetadata.getDefaultValueType();
if (defaultValueType == DefaultValueEnum.NULL) {
return "DEFAULT NULL";
}
// 指定空字符串
if (defaultValueType == DefaultValueEnum.EMPTY_STRING) {
return "DEFAULT ''";
}
// 自定义
String defaultValue = columnMetadata.getDefaultValue();
if (DefaultValueEnum.isCustom(defaultValueType) && StringUtils.hasText(defaultValue)) {
return "DEFAULT " + defaultValue;
}
return "";
})
.toString();
}
}