private void WriteSeedData(SeedDataEntity seedDataEntity) { //var baseDirectory = AppContext.BaseDirectory; //var filePath = Path.Combine(baseDirectory, "SeedData.json"); var filePath = Path.Combine(Directory.GetCurrentDirectory(), _seedDataFileName); JObject jObject = JObject.Parse(JsonConvert.SerializeObject(seedDataEntity)); File.WriteAllText(filePath, JsonConvert.SerializeObject(jObject, Formatting.Indented)); }
public async Task <IResponseEntity> InitDb(DbConnectItem req) { StringBuilder sb = new StringBuilder(); sb.Append("<ul>"); sb.Append("<li>创建数据连接对象 开始</li>"); var dbType = (FreeSql.DataType)Enum.Parse(typeof(FreeSql.DataType), req.DbType); var connStr = req.ConnectionString; IFreeSql fsql = new FreeSqlBuilder() .UseConnectionString(dbType, connStr) .UseAutoSyncStructure(true) //自动同步实体结构【开发环境必备】 .Build(); DbConnection dbConnection = fsql.Ado.MasterPool.Get().Value; // 这儿验证 连接是否成功,这句代码可以不要,如果连接字符不变正确,为了提早发现(报异常) fsql.Aop.AuditValue += SyncDataAuditValue; sb.Append("<li>创建数据连接对象 结束</li>"); sb.Append("<li>创建数据库结构及初始化数据 开始</li>"); using (var uow = fsql.CreateUnitOfWork()) using (var tran = uow.GetOrBeginTransaction()) { SeedDataEntity data = (new SeedData()).GetSeedData(); sb.Append("<ul>"); await InitDtData(fsql, data.SysApiEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysConditionEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysDictionaryEntryEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysDictionaryHeaderEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysConfigEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysGroupEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysPermissionEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysResourceEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysRoleEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysRPermissionConditionEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysRPermissionRoleEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysRResourceApiEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysRRoleResourceEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysSettingEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysUserEntities.ToArray(), tran, sb); await InitDtData(fsql, data.SysLoginLogEntities?.ToArray(), tran, sb); await InitDtData(fsql, data.SysOperationLogEntities?.ToArray(), tran, sb); sb.Append("</ul>"); uow.Commit(); } sb.Append("<li>创建数据库结构及初始化数据 结束</li>"); sb.Append("</ul>"); fsql.Dispose(); return(ResponseEntity.Ok("初始化成功", msg: sb.ToString())); }
/// <summary> /// 生成种子数据 /// </summary> public void GenerateSeedData(IFreeSql fsql) { var sysApiEntities = fsql.GetRepository <SysApiEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysConditionEntities = fsql.GetRepository <SysConditionEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysDictionaryEntryEntities = fsql.GetRepository <DictionaryEntryEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysDictionaryHeaderEntities = fsql.GetRepository <DictionaryHeaderEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysConfigEntities = fsql.GetRepository <SysConfigEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysGroupEntities = fsql.GetRepository <SysGroupEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysPermissionEntities = fsql.GetRepository <SysPermissionEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysResourceEntities = fsql.GetRepository <SysResourceEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysRoleEntities = fsql.GetRepository <SysRoleEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysRPermissionConditionEntities = fsql.GetRepository <SysRPermissionConditionEntity>().Select.ToList(); var SysRPermissionRoleEntities = fsql.GetRepository <SysRPermissionRoleEntity>().Select.ToList(); var SysRResourceApiEntities = fsql.GetRepository <SysRResourceApiEntity>().Select.ToList(); var SysRRoleResourceEntities = fsql.GetRepository <SysRRoleResourceEntity>().Select.ToList(); var SysSettingEntities = fsql.GetRepository <SysConfigEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysUserEntities = fsql.GetRepository <SysUserEntity>().Select.Where(x => x.IsDeleted == false).ToList(); var SysTaskQzEntities = fsql.GetRepository <SysTaskQzEntity>().Select.Where(x => x.IsDeleted == false).ToList(); SeedDataEntity seedDataEntity = new SeedDataEntity() { SysApiEntities = sysApiEntities, SysConditionEntities = SysConditionEntities, SysDictionaryEntryEntities = SysDictionaryEntryEntities, SysDictionaryHeaderEntities = SysDictionaryHeaderEntities, SysConfigEntities = SysConfigEntities, SysGroupEntities = SysGroupEntities, SysPermissionEntities = SysPermissionEntities, SysResourceEntities = SysResourceEntities, SysRoleEntities = SysRoleEntities, SysRPermissionConditionEntities = SysRPermissionConditionEntities, SysRPermissionRoleEntities = SysRPermissionRoleEntities, SysRResourceApiEntities = SysRResourceApiEntities, SysRRoleResourceEntities = SysRRoleResourceEntities, SysSettingEntities = SysSettingEntities, SysUserEntities = SysUserEntities, SysTaskQzEntities = SysTaskQzEntities, SysLoginLogEntities = new List <SysLoginLogEntity>(), SysOperationLogEntities = new List <SysOperationLogEntity>() }; WriteSeedData(seedDataEntity); fsql.Dispose(); }