mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-31 03:32:43 +08:00
mysql修改列顺序
This commit is contained in:
@ -93,7 +93,6 @@ public class MysqlSqlBuilder extends DefaultSqlBuilder {
|
|||||||
script.append("\t").append("AUTO_INCREMENT=").append(newTable.getIncrementValue()).append(",\n");
|
script.append("\t").append("AUTO_INCREMENT=").append(newTable.getIncrementValue()).append(",\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断是否有删除字段、新增字段及字段位置移动
|
|
||||||
// 判断新增字段
|
// 判断新增字段
|
||||||
List<TableColumn> addColumnList = new ArrayList<>();
|
List<TableColumn> addColumnList = new ArrayList<>();
|
||||||
for (TableColumn tableColumn : newTable.getColumnList()) {
|
for (TableColumn tableColumn : newTable.getColumnList()) {
|
||||||
@ -109,9 +108,9 @@ public class MysqlSqlBuilder extends DefaultSqlBuilder {
|
|||||||
// append modify column
|
// append modify column
|
||||||
for (TableColumn tableColumn : newTable.getColumnList()) {
|
for (TableColumn tableColumn : newTable.getColumnList()) {
|
||||||
if ((StringUtils.isNotBlank(tableColumn.getEditStatus()) && StringUtils.isNotBlank(tableColumn.getColumnType())
|
if ((StringUtils.isNotBlank(tableColumn.getEditStatus()) && StringUtils.isNotBlank(tableColumn.getColumnType())
|
||||||
&& StringUtils.isNotBlank(tableColumn.getName())) || moveColumnList.contains(tableColumn)) {
|
&& StringUtils.isNotBlank(tableColumn.getName())) || moveColumnList.contains(tableColumn) || addColumnList.contains(tableColumn)) {
|
||||||
MysqlColumnTypeEnum typeEnum = MysqlColumnTypeEnum.getByType(tableColumn.getColumnType());
|
MysqlColumnTypeEnum typeEnum = MysqlColumnTypeEnum.getByType(tableColumn.getColumnType());
|
||||||
if (moveColumnList.contains(tableColumn)) {
|
if (moveColumnList.contains(tableColumn) || addColumnList.contains(tableColumn)) {
|
||||||
script.append("\t").append(typeEnum.buildModifyColumn(tableColumn, true, findPrevious(tableColumn, newTable))).append(",\n");
|
script.append("\t").append(typeEnum.buildModifyColumn(tableColumn, true, findPrevious(tableColumn, newTable))).append(",\n");
|
||||||
} else {
|
} else {
|
||||||
script.append("\t").append(typeEnum.buildModifyColumn(tableColumn)).append(",\n");
|
script.append("\t").append(typeEnum.buildModifyColumn(tableColumn)).append(",\n");
|
||||||
|
@ -220,6 +220,13 @@ public enum MysqlColumnTypeEnum implements ColumnBuilder {
|
|||||||
return StringUtils.join("MODIFY COLUMN ", buildCreateColumnSql(tableColumn));
|
return StringUtils.join("MODIFY COLUMN ", buildCreateColumnSql(tableColumn));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (isMove) {
|
||||||
|
if (columnName.equals("-1")) {
|
||||||
|
return StringUtils.join("MODIFY COLUMN ", buildCreateColumnSql(tableColumn)," FIRST");
|
||||||
|
} else {
|
||||||
|
return StringUtils.join("MODIFY COLUMN ", buildCreateColumnSql(tableColumn), " AFTER ", columnName);
|
||||||
|
}
|
||||||
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user