Răsfoiți Sursa

修复生产环境问题

xiaoxue 5 ani în urmă
părinte
comite
96c884e9e3

+ 1 - 1
Admin.Core/Admin.Core.xml

@@ -569,7 +569,7 @@
             <param name="dbConfig"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.Core.Db.DbHelper.SyncStructure(IFreeSql,System.Boolean,System.String,System.String)">
+        <member name="M:Admin.Core.Db.DbHelper.SyncStructure(IFreeSql,System.Boolean,System.String,Admin.Core.Common.Configs.DbConfig)">
             <summary>
             同步结构
             </summary>

+ 8 - 4
Admin.Core/Db/DbHelper.cs

@@ -46,7 +46,7 @@ namespace Admin.Core.Db
         /// <summary>
         /// 同步结构
         /// </summary>
-        public static void SyncStructure(IFreeSql db,bool autoIncrement = true, string msg = null,string dbType = null)
+        public static void SyncStructure(IFreeSql db,bool autoIncrement = true, string msg = null, DbConfig dbConfig = null)
         {
             //打印结构比对脚本
             //var dDL = db.CodeFirst.GetComparisonDDLStatements<PermissionEntity>();
@@ -90,9 +90,13 @@ namespace Admin.Core.Db
             }
 
             // 同步结构
-            Console.WriteLine($"\r\n{(msg.NotNull() ? msg : $"sync {dbType} structure")} started");
-            db.CodeFirst.SyncStructure(types);
-            Console.WriteLine($"{(msg.NotNull() ? msg : $"sync {dbType} structure")} succeed\r\n");
+            if (dbConfig.SyncStructure)
+            {
+                var dbType = dbConfig.Type.ToString();
+                Console.WriteLine($"\r\n{(msg.NotNull() ? msg : $"sync {dbType} structure")} started");
+                db.CodeFirst.SyncStructure(types);
+                Console.WriteLine($"{(msg.NotNull() ? msg : $"sync {dbType} structure")} succeed\r\n");
+            }
         }
 
         /// <summary>

+ 2 - 5
Admin.Core/Db/ServiceCollectionExtensions.cs

@@ -47,11 +47,8 @@ namespace Admin.Core.Db
             var fsql = freeSqlBuilder.Build();
 
             #region 初始化数据库
-            //同步结构
-            if (dbConfig.SyncStructure)
-            {
-                DbHelper.SyncStructure(fsql, dbType: dbConfig.Type.ToString());
-            }
+            //同步结构,需要内部配置自增长
+            DbHelper.SyncStructure(fsql, dbConfig: dbConfig);
 
             //同步数据
             if (dbConfig.SyncData)

+ 1 - 3
Admin.Core/configs/dbconfig.json

@@ -4,7 +4,5 @@
   //连接字符串
   //MySql "Server=localhost; Port=3306; Database=admindb; Uid=root; Pwd=pwd; Charset=utf8mb4;"
   //Sqlite "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1" "Data Source=F:\\data\\admindb.db; Pooling=true;Min Pool Size=1"
-  "connectionString": "Server=localhost; Port=3306; Database=admindb; Uid=root; Pwd=pwd; Charset=utf8mb4;",
-  //同步结构,由于Entity取消自增长,生产环境必须同步自增长结构
-  "syncStructure": true
+  "connectionString": "Server=localhost; Port=3306; Database=admindb; Uid=root; Pwd=pwd; Charset=utf8mb4;"
 }