|
@@ -12,7 +12,7 @@ import org.dbsyncer.sdk.enums.DDLOperationEnum;
|
|
/**
|
|
/**
|
|
* 字段属性变更
|
|
* 字段属性变更
|
|
* <code>
|
|
* <code>
|
|
- * ALTER TABLE `test`.`test_user`
|
|
|
|
|
|
+ * ALTER TABLE `test`.`test_user`
|
|
* MODIFY COLUMN `name` varchar(203) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL AFTER `id`,
|
|
* MODIFY COLUMN `name` varchar(203) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL AFTER `id`,
|
|
* MODIFY COLUMN `remark` varchar(204) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL AFTER `name`
|
|
* MODIFY COLUMN `remark` varchar(204) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL AFTER `name`
|
|
* </code>
|
|
* </code>
|
|
@@ -23,10 +23,12 @@ public class ModifyStrategy implements AlterStrategy {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void parse(AlterExpression expression, DDLConfig ddlConfig) {
|
|
public void parse(AlterExpression expression, DDLConfig ddlConfig) {
|
|
- for (AlterExpression.ColumnDataType columnDataType : expression.getColDataTypeList()) {
|
|
|
|
- String columnName = StringUtil.replace(columnDataType.getColumnName(), StringUtil.BACK_QUOTE, StringUtil.EMPTY);
|
|
|
|
- columnName = StringUtil.replace(columnName, StringUtil.DOUBLE_QUOTATION, StringUtil.EMPTY);
|
|
|
|
- ddlConfig.getModifiedFieldNames().add(columnName);
|
|
|
|
|
|
+ if (expression.getColDataTypeList() != null) {
|
|
|
|
+ for (AlterExpression.ColumnDataType columnDataType : expression.getColDataTypeList()) {
|
|
|
|
+ String columnName = StringUtil.replace(columnDataType.getColumnName(), StringUtil.BACK_QUOTE, StringUtil.EMPTY);
|
|
|
|
+ columnName = StringUtil.replace(columnName, StringUtil.DOUBLE_QUOTATION, StringUtil.EMPTY);
|
|
|
|
+ ddlConfig.getModifiedFieldNames().add(columnName);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
ddlConfig.setDdlOperationEnum(DDLOperationEnum.ALTER_MODIFY);
|
|
ddlConfig.setDdlOperationEnum(DDLOperationEnum.ALTER_MODIFY);
|
|
}
|
|
}
|