Skip to content

Commit ad93eb9

Browse files
authored
Merge pull request #700 from tapdata/TAP-9317-v2.0.4
fix: TAP-9317 mysql add column with default function
2 parents 7092c2b + f6b342e commit ad93eb9

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

connectors-common/mysql-core/src/main/java/io/tapdata/connector/mysql/ddl/sqlmaker/MysqlDDLSqlGenerator.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,18 @@ public List<String> addColumn(CommonDbConfig config, TapNewFieldEvent tapNewFiel
5151
throw new RuntimeException("Append add column ddl sql failed, table name is blank");
5252
}
5353
for (TapField newField : newFields) {
54-
String columnDefaultValue = newField.getDefaultValue().toString();
55-
Object defaultValueObj = columnDefaultValue;
56-
String tapDefaultFunction = null;
57-
if (EmptyKit.isNotNull(columnDefaultValue)) {
58-
tapDefaultFunction = MysqlColumn.MysqlDefaultFunction.parseFunction(columnDefaultValue);;
59-
if (columnDefaultValue.matches("-?\\d+(\\.\\d+)?")) {
60-
defaultValueObj = new BigDecimal(columnDefaultValue);
54+
if (EmptyKit.isNotNull(newField.getDefaultValue())) {
55+
String columnDefaultValue = newField.getDefaultValue().toString();
56+
Object defaultValueObj = columnDefaultValue;
57+
String tapDefaultFunction = null;
58+
if (EmptyKit.isNotNull(columnDefaultValue)) {
59+
tapDefaultFunction = MysqlColumn.MysqlDefaultFunction.parseFunction(columnDefaultValue);;
60+
if (columnDefaultValue.matches("-?\\d+(\\.\\d+)?")) {
61+
defaultValueObj = new BigDecimal(columnDefaultValue);
62+
}
6163
}
64+
newField.defaultValue(defaultValueObj).defaultFunction(tapDefaultFunction);
6265
}
63-
newField.defaultValue(defaultValueObj).defaultFunction(tapDefaultFunction);
6466
StringBuilder sql = new StringBuilder(String.format(ALTER_TABLE_PREFIX, config.getDatabase(), tableId)).append(" add");
6567
String fieldName = newField.getName();
6668
if (StringUtils.isNotBlank(fieldName)) {

0 commit comments

Comments
 (0)