mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-29 02:32:33 +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");
|
||||
}
|
||||
|
||||
// 判断是否有删除字段、新增字段及字段位置移动
|
||||
// 判断新增字段
|
||||
List<TableColumn> addColumnList = new ArrayList<>();
|
||||
for (TableColumn tableColumn : newTable.getColumnList()) {
|
||||
@ -109,9 +108,9 @@ public class MysqlSqlBuilder extends DefaultSqlBuilder {
|
||||
// append modify column
|
||||
for (TableColumn tableColumn : newTable.getColumnList()) {
|
||||
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());
|
||||
if (moveColumnList.contains(tableColumn)) {
|
||||
if (moveColumnList.contains(tableColumn) || addColumnList.contains(tableColumn)) {
|
||||
script.append("\t").append(typeEnum.buildModifyColumn(tableColumn, true, findPrevious(tableColumn, newTable))).append(",\n");
|
||||
} else {
|
||||
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));
|
||||
}
|
||||
}
|
||||
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 "";
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user