示例#1
0
        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));
        }
示例#2
0
        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()));
        }
示例#3
0
        /// <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();
        }