浏览代码

修复 库表管理,编辑列 报 重名、不支持 错误

夜鹰 4 月之前
父节点
当前提交
3cfa9798ac
共有 1 个文件被更改,包括 11 次插入5 次删除
  1. 11 5
      Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs

+ 11 - 5
Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs

@@ -175,15 +175,21 @@ public class SysDatabaseService : IDynamicApiController, ITransient
     public void UpdateColumn(UpdateDbColumnInput input)
     {
         var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
-        db.DbMaintenance.RenameColumn(input.TableName, input.OldColumnName, input.ColumnName);
-        if (!string.IsNullOrWhiteSpace(input.DefaultValue))
+
+        // 前端未修改列名时,不进行重命名操作,避免报错
+        if (input.OldColumnName != input.ColumnName)
         {
-            db.DbMaintenance.AddDefaultValue(input.TableName, input.ColumnName, input.DefaultValue);
+            db.DbMaintenance.RenameColumn(input.TableName, input.OldColumnName, input.ColumnName);
         }
-        if (db.DbMaintenance.IsAnyColumnRemark(input.ColumnName, input.TableName))
+
+        if (!string.IsNullOrWhiteSpace(input.DefaultValue))
         {
-            db.DbMaintenance.DeleteColumnRemark(input.ColumnName, input.TableName);
+            db.DbMaintenance.AddDefaultValue(input.TableName, input.ColumnName, input.DefaultValue);
         }
+        //if (db.DbMaintenance.IsAnyColumnRemark(input.ColumnName, input.TableName))
+        //{
+        //    db.DbMaintenance.DeleteColumnRemark(input.ColumnName, input.TableName);
+        //}
 
         db.DbMaintenance.AddColumnRemark(input.ColumnName, input.TableName, string.IsNullOrWhiteSpace(input.Description) ? input.ColumnName : input.Description);
     }