1
0
Quellcode durchsuchen

修复 dbconfig.json分布式事务唯一标识为空还无法建库的问题

zhontai vor 2 Jahren
Ursprung
Commit
cf78219623

+ 14 - 14
src/hosts/ZhonTai.Host/Configs/dbconfig.json

@@ -25,7 +25,7 @@
 
   //项目初始化不开启生成数据,发布生产环境前,如果开发环境有配置数据需要更新数据包,可以开启生成数据包,使用完记得关闭
   //开启生成数据前先关闭syncStructure syncData createDb
-  //生成数据
+  //生成数据,回写InitData/Admin/*.json
   "generateData": false,
 
   //数据库配置 https://github.com/dotnetcore/FreeSql/wiki/入门
@@ -42,19 +42,6 @@
   //FreeSql.MySql.MySqlProvider`1,FreeSql.Provider.MySqlConnector
   "providerType": "",
 
-  //多数据库
-  //定义MultiDbKeys枚举
-  //使用仓储访问 public ModuleRepository(UnitOfWorkManagerCloud muowm) : base(DbKeys.MultiDb + MultiDbKeys.DbKey, muowm)
-  //使用FreeSqlCloud访问  freeSqlCloud.Use(DbKeys.MultiDb +  MultiDbKeys.DbKey);
-  "dbs": [
-    //{
-    //  "key": "admindb",
-    //  "type": "Sqlite",
-    //  "connectionString": "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1",
-    //  "providerType": ""
-    //}
-  ],
-
   //分布式事务唯一标识
   "distributeKey": "admin",
 
@@ -66,5 +53,18 @@
     //  //权重
     //  "Weight": 1
     //}
+  ],
+
+  //多数据库
+  //定义MultiDbKeys枚举
+  //使用仓储访问 public ModuleRepository(UnitOfWorkManagerCloud muowm) : base(DbKeys.MultiDb + MultiDbKeys.DbKey, muowm)
+  //使用FreeSqlCloud访问  freeSqlCloud.Use(DbKeys.MultiDb +  MultiDbKeys.DbKey);
+  "dbs": [
+    //{
+    //  "key": "admindb",
+    //  "type": "Sqlite",
+    //  "connectionString": "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1",
+    //  "providerType": ""
+    //}
   ]
 }

+ 1 - 1
src/platform/ZhonTai.Admin/Core/HostApp.cs

@@ -175,7 +175,7 @@ public class HostApp
         services.AddSingleton(dbConfig);
 
         //添加数据库
-        var freeSqlCloud = new FreeSqlCloud(dbConfig.DistributeKey);
+        var freeSqlCloud = dbConfig.DistributeKey.IsNull() ? new FreeSqlCloud() : new FreeSqlCloud(dbConfig.DistributeKey);
         services.AddSingleton<IFreeSql>(freeSqlCloud);
         services.AddSingleton(freeSqlCloud);
         services.AddScoped<UnitOfWorkManagerCloud>();

+ 34 - 36
src/platform/ZhonTai.Admin/Repositories/CustomSyncData.cs

@@ -23,57 +23,55 @@ public class CustomSyncData : SyncData, ISyncData
 {
     public virtual async Task SyncDataAsync(IFreeSql db, DbConfig dbConfig = null, AppConfig appConfig = null)
     {
-        using (var uow = db.CreateUnitOfWork())
-        using (var tran = uow.GetOrBeginTransaction())
-        {
-            var isTenant = appConfig.Tenant;
+        using var uow = db.CreateUnitOfWork();
+        using var tran = uow.GetOrBeginTransaction();
+        var isTenant = appConfig.Tenant;
 
-            var dictionaryTypes = GetData<DictionaryTypeEntity>(isTenant);
-            await InitDataAsync(db, uow, tran, dictionaryTypes, dbConfig);
+        var dictionaryTypes = GetData<DictionaryTypeEntity>(isTenant);
+        await InitDataAsync(db, uow, tran, dictionaryTypes, dbConfig);
 
-            var dictionaries = GetData<DictionaryEntity>(isTenant);
-            await InitDataAsync(db, uow, tran, dictionaries, dbConfig);
+        var dictionaries = GetData<DictionaryEntity>(isTenant);
+        await InitDataAsync(db, uow, tran, dictionaries, dbConfig);
 
-            var users = GetData<UserEntity>(isTenant);
-            await InitDataAsync(db, uow, tran, users, dbConfig);
+        var users = GetData<UserEntity>(isTenant);
+        await InitDataAsync(db, uow, tran, users, dbConfig);
 
-            var staffs = GetData<UserStaffEntity>(isTenant);
-            await InitDataAsync(db, uow, tran, staffs, dbConfig);
+        var staffs = GetData<UserStaffEntity>(isTenant);
+        await InitDataAsync(db, uow, tran, staffs, dbConfig);
 
-            var orgs = GetData<OrgEntity>(isTenant);
-            await InitDataAsync(db, uow, tran, orgs, dbConfig);
+        var orgs = GetData<OrgEntity>(isTenant);
+        await InitDataAsync(db, uow, tran, orgs, dbConfig);
 
-            var roles = GetData<RoleEntity>(isTenant);
-            await InitDataAsync(db, uow, tran, roles, dbConfig);
+        var roles = GetData<RoleEntity>(isTenant);
+        await InitDataAsync(db, uow, tran, roles, dbConfig);
 
-            var apiTree = GetData<ApiEntity>();
-            await InitDataAsync(db, uow, tran, apiTree, dbConfig);
+        var apiTree = GetData<ApiEntity>();
+        await InitDataAsync(db, uow, tran, apiTree, dbConfig);
 
-            var viewTree = GetData<ViewEntity>();
-            await InitDataAsync(db, uow, tran, viewTree, dbConfig);
+        var viewTree = GetData<ViewEntity>();
+        await InitDataAsync(db, uow, tran, viewTree, dbConfig);
 
-            var permissionTree = GetData<PermissionEntity>();
-            await InitDataAsync(db, uow, tran, permissionTree, dbConfig);
+        var permissionTree = GetData<PermissionEntity>();
+        await InitDataAsync(db, uow, tran, permissionTree, dbConfig);
 
-            var userRoles = GetData<UserRoleEntity>();
-            await InitDataAsync(db, uow, tran, userRoles, dbConfig);
+        var userRoles = GetData<UserRoleEntity>();
+        await InitDataAsync(db, uow, tran, userRoles, dbConfig);
 
-            var userOrgs = GetData<UserOrgEntity>();
-            await InitDataAsync(db, uow, tran, userOrgs, dbConfig);
+        var userOrgs = GetData<UserOrgEntity>();
+        await InitDataAsync(db, uow, tran, userOrgs, dbConfig);
 
-            var rolePermissions = GetData<RolePermissionEntity>();
-            await InitDataAsync(db, uow, tran, rolePermissions, dbConfig);
+        var rolePermissions = GetData<RolePermissionEntity>();
+        await InitDataAsync(db, uow, tran, rolePermissions, dbConfig);
 
-            var tenants = GetData<TenantEntity>();
-            await InitDataAsync(db, uow, tran, tenants, dbConfig);
+        var tenants = GetData<TenantEntity>();
+        await InitDataAsync(db, uow, tran, tenants, dbConfig);
 
-            var tenantPermissions = GetData<TenantPermissionEntity>();
-            await InitDataAsync(db, uow, tran, tenantPermissions, dbConfig);
+        var tenantPermissions = GetData<TenantPermissionEntity>();
+        await InitDataAsync(db, uow, tran, tenantPermissions, dbConfig);
 
-            var permissionApis = GetData<PermissionApiEntity>();
-            await InitDataAsync(db, uow, tran, permissionApis, dbConfig);
+        var permissionApis = GetData<PermissionApiEntity>();
+        await InitDataAsync(db, uow, tran, permissionApis, dbConfig);
 
-            uow.Commit();
-        }
+        uow.Commit();
     }
 }

+ 0 - 1
src/platform/ZhonTai.Admin/Services/Auth/AuthService.cs

@@ -34,7 +34,6 @@ using FreeSql;
 using Microsoft.Extensions.DependencyInjection;
 using ZhonTai.Admin.Domain.TenantPermission;
 using ZhonTai.Admin.Core.Db;
-using System.Collections.Generic;
 
 namespace ZhonTai.Admin.Services.Auth;