Fix oracle table edit error

This commit is contained in:
SwallowGG
2023-11-03 16:04:35 +08:00
parent b7ddff2022
commit e1cbe0293c
19 changed files with 69 additions and 19 deletions

View File

@ -5,6 +5,7 @@ import ai.chat2db.plugin.postgresql.type.PostgreSQLIndexTypeEnum;
import ai.chat2db.spi.SqlBuilder;
import ai.chat2db.spi.jdbc.DefaultSqlBuilder;
import ai.chat2db.spi.model.*;
import ai.chat2db.spi.util.TableUtils;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.BooleanUtils;
@ -107,7 +108,7 @@ public class PostgreSQLSqlBuilder extends DefaultSqlBuilder implements SqlBuilde
// append modify column
for (TableColumn tableColumn : newTable.getColumnList()) {
PostgreSQLColumnTypeEnum typeEnum = PostgreSQLColumnTypeEnum.getByType(tableColumn.getColumnType());
scriptModify.append("\t").append(typeEnum.buildModifyColumn(tableColumn)).append(",\n");
scriptModify.append("\t").append(typeEnum.buildModifyColumn(tableColumn, TableUtils.getTableColumn(oldTable,tableColumn.getOldName()))).append(",\n");
modify = true;
}

View File

@ -119,7 +119,7 @@ public enum PostgreSQLColumnTypeEnum implements ColumnBuilder {
}
@Override
public String buildModifyColumn(TableColumn column) {
public String buildModifyColumn(TableColumn column, TableColumn oldColumn) {
if (EditStatus.DELETE.name().equals(column.getEditStatus())) {
return StringUtils.join("DROP COLUMN `", column.getName() + "`");