Bladeren bron

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

夜鹰 4 maanden geleden
bovenliggende
commit
3cfa9798ac
1 gewijzigde bestanden met toevoegingen van 11 en 5 verwijderingen
  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);
     }