/// <summary> /// 初始化数据库 /// </summary> private void InitializeDatabase(bool rebuild) { DbFactory.DbConnectionString = SystemConfig.Current.DbConnectionString; DbFactory.DefaultDbName = SystemConfig.Current.DefaultDbName; ColumnConfiguration[] colCfgsObj = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ObjectFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.ObjectFieldOwner, BlazeDbType.INT4), new ColumnConfiguration(TableString.ObjectFieldParentId, BlazeDbType.INT4), new ColumnConfiguration(TableString.ObjectFieldName, BlazeDbType.STRING), new ColumnConfiguration(TableString.ObjectFieldComment, BlazeDbType.STRING) }; ColumnConfiguration[] colCfgsUser = new ColumnConfiguration[] { new ColumnConfiguration(TableString.UserFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.UserFieldUserName, BlazeDbType.SHORT_STRING, false, true), new ColumnConfiguration(TableString.UserFieldRealName, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.UserFieldPassword, BlazeDbType.STRING) }; ColumnConfiguration[] colCfgsGroup = new ColumnConfiguration[] { new ColumnConfiguration(TableString.UserGroupFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.UserGroupFieldGroupName, BlazeDbType.SHORT_STRING, false, true) }; ColumnConfiguration[] colCfgsUserGroup = new ColumnConfiguration[] { new ColumnConfiguration(TableString.UserInGroupFieldUserId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.UserInGroupFieldGroupId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.UserInGroupFieldEstablishDatetime, BlazeDbType.DATETIME) }; ColumnConfiguration[] colCfgsAce = new ColumnConfiguration[] { new ColumnConfiguration(TableString.AceFieldAceId, BlazeDbType.INT4, false, true, true, true, null), new ColumnConfiguration(TableString.AceFieldObjectId, BlazeDbType.INT4), new ColumnConfiguration(TableString.AceFieldOperatorId, BlazeDbType.INT4), new ColumnConfiguration(TableString.AceFieldOperation, BlazeDbType.INT4), }; ColumnConfiguration[] colCfgsGameServer = new ColumnConfiguration[] { new ColumnConfiguration(TableString.GameServerFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.GameServerFieldNetAddress, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldGameDir, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.GameServerFieldLordPort, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameServerFieldMaxPlayer, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameServerFieldIntranetMask, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldInternetMask, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldPaysysIp, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldPaysysPort, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameServerFieldPaysysLoginName, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldPaysysLoginPwd, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.GameServerFieldDbHost, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldDbName, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldDbLoginName, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldDbLoginPwd, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.GameServerFieldDbBackupDir, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.GameServerFieldFSEyeIp, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.GameServerFieldFSEyePort, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameServerFieldHasBeenConfigGuard, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameServerFieldServerType, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameServerFieldCfgString, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.GameServerFieldFtpDownloadServer, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameServerFieldGmcIp, BlazeDbType.STRING), new ColumnConfiguration(TableString.GameServerFieldGmcAccount, BlazeDbType.STRING) }; ColumnConfiguration[] colCfgsServerGroup = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ServerGroupFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.ServerGroupFieldType, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerGroupFieldGroupEnable, BlazeDbType.INT2), new ColumnConfiguration(TableString.ServerGroupFieldMaxPlayers, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerGroupFieldMaxPlayersLogTime, BlazeDbType.DATETIME), new ColumnConfiguration(TableString.ServerGroupFieldCabinet, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.ServerGroupFieldGroupVersion, BlazeDbType.STRING) }; ColumnConfiguration[] colCfgsServerRegion = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ServerRegionFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.ServerRegionFieldMaxPlayers, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerRegionFieldMaxPlayersLogTime, BlazeDbType.DATETIME), new ColumnConfiguration(TableString.ServerRegionFieldRegionName, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.ServerRegionFieldRegionType, BlazeDbType.INT2) }; ColumnConfiguration[] colCfgsGameLog = new ColumnConfiguration[] { new ColumnConfiguration(TableString.GameLogFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.GameLogFieldGameServerId, BlazeDbType.INT4), new ColumnConfiguration(TableString.GameLogFieldDate, BlazeDbType.DATE), new ColumnConfiguration(TableString.GameLogFieldTotalMoney, BlazeDbType.INT8), new ColumnConfiguration(TableString.GameLogFieldTotalMoneyInBox, BlazeDbType.INT8) }; ColumnConfiguration[] colCfgsServerPlugIn = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ServerPlugInFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.ServerPlugInFieldGameServerId, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerPlugInFieldPlugInGuid, BlazeDbType.STRING), new ColumnConfiguration(TableString.ServerPlugInFieldParameter1, BlazeDbType.INT2), new ColumnConfiguration(TableString.ServerPlugInFieldParameter2, BlazeDbType.INT2), new ColumnConfiguration(TableString.ServerPlugInFieldParameter3, BlazeDbType.STRING), new ColumnConfiguration(TableString.ServerPlugInFieldPlugInName, BlazeDbType.STRING) }; ColumnConfiguration[] strategy = new ColumnConfiguration[] { new ColumnConfiguration(TableString.StrategyFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.StrategyFieldEvent, BlazeDbType.INT4), new ColumnConfiguration(TableString.StrategyFieldAutomation, BlazeDbType.BLOB), new ColumnConfiguration(TableString.StrategyFieldEnabled, BlazeDbType.INT2) }; ColumnConfiguration[] scheduledTask = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ScheduledTaskFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.ScheduledTaskFieldTaskData, BlazeDbType.BLOB) }; //ColumnConfiguration[] task = new ColumnConfiguration[] { // new ColumnConfiguration( TableString.TaskFieldId, BlazeDbType.INT4, true ), // new ColumnConfiguration( TableString.TaskFieldName, BlazeDbType.STRING), // new ColumnConfiguration( TableString.TaskFieldAutomation, BlazeDbType.BLOB), // new ColumnConfiguration( TableString.TaskFieldInterval,BlazeDbType.INT4), // new ColumnConfiguration( TableString.TaskFieldPeriodUnit, BlazeDbType.INT4), // new ColumnConfiguration( TableString.TaskFieldStart, BlazeDbType.DATETIME), // new ColumnConfiguration( TableString.TaskFieldEnd, BlazeDbType.DATETIME), // new ColumnConfiguration( TableString.TaskFieldSelectedDay, BlazeDbType.STRING), // new ColumnConfiguration( TableString.TaskFieldSelectedMonth, BlazeDbType.STRING), // new ColumnConfiguration( TableString.TaskFieldRepeatPeriod, BlazeDbType.INT4), // new ColumnConfiguration( TableString.TaskFieldRepeatPersistenceTime, BlazeDbType.INT4), // new ColumnConfiguration( TableString.StrategyFieldEnabled, BlazeDbType.INT2) //}; ColumnConfiguration[] updateServer = new ColumnConfiguration[] { new ColumnConfiguration(TableString.UpdateServerFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.UpdateServerFieldAddress, BlazeDbType.SHORT_STRING), new ColumnConfiguration(TableString.UpdateServerFieldPort, BlazeDbType.INT2), new ColumnConfiguration(TableString.UpdateServerFieldUsername, BlazeDbType.STRING), new ColumnConfiguration(TableString.UpdateServerFieldPassword, BlazeDbType.STRING), new ColumnConfiguration(TableString.UpdateServerFieldLiteral, BlazeDbType.STRING), new ColumnConfiguration(TableString.UpdateServerFieldUpdateServerType, BlazeDbType.INT2) }; ColumnConfiguration[] playerCount = new ColumnConfiguration[] { new ColumnConfiguration(TableString.PlayerCountFieldServerId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.PlayerCountFieldRecordTime, BlazeDbType.DATETIME, true), new ColumnConfiguration(TableString.PlayerCountFieldMaxPlayerCount, BlazeDbType.INT2), new ColumnConfiguration(TableString.PlayerCountFieldMinPlayerCount, BlazeDbType.INT2), new ColumnConfiguration(TableString.PlayerCountFieldAveragePlayerCount, BlazeDbType.INT2) }; ColumnConfiguration[] gmOpLog = new ColumnConfiguration[] { new ColumnConfiguration(TableString.GMOpLogFieldId, BlazeDbType.INT4, false, true, true, true, null), new ColumnConfiguration(TableString.GMOpLogFieldUserId, BlazeDbType.INT4), new ColumnConfiguration(TableString.GMOpLogFieldOperation, BlazeDbType.INT2), new ColumnConfiguration(TableString.GMOpLogFieldTarget, BlazeDbType.BLOB), new ColumnConfiguration(TableString.GMOpLogFieldServerId, BlazeDbType.INT4), new ColumnConfiguration(TableString.GMOpLogFieldDescription, BlazeDbType.BLOB), new ColumnConfiguration(TableString.GMOpLogFieldLogTime, BlazeDbType.DATETIME), new ColumnConfiguration(TableString.GMOpLogFieldTargetType, BlazeDbType.INT2) }; ColumnConfiguration[] accountInfo = new ColumnConfiguration[] { new ColumnConfiguration(TableString.AccountInfoFieldId, BlazeDbType.INT4, false, true, true, true, null), new ColumnConfiguration(TableString.AccountInfoFieldName, BlazeDbType.STRING, false, true, false, false, null), new ColumnConfiguration(TableString.AccountInfoFieldPassword, BlazeDbType.STRING) }; ColumnConfiguration[] ibShop = new ColumnConfiguration[] { new ColumnConfiguration(TableString.IbShopFieldId, BlazeDbType.INT4, false, true, true, true, null), new ColumnConfiguration(TableString.IbShopFieldTimeStamp, BlazeDbType.DATETIME), new ColumnConfiguration(TableString.IbShopFieldScript, BlazeDbType.BLOB) }; ColumnConfiguration[] batchTask = new ColumnConfiguration[] { new ColumnConfiguration(TableString.BatchTaskId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.BatchTaskAutomation, BlazeDbType.BLOB), new ColumnConfiguration(TableString.BatchTaskStep, BlazeDbType.INT4), new ColumnConfiguration(TableString.BatchTaskServerIds, BlazeDbType.BLOB) }; ColumnConfiguration[] serverEvent = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ServerEventFieldServerId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.ServerEventFieldEventTime, BlazeDbType.DATETIME, true), new ColumnConfiguration(TableString.ServerEventFieldEventType, BlazeDbType.INT2) }; ColumnConfiguration[] serverOperationLog = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ServerOperationLogFieldId, BlazeDbType.INT8, false, true, true, true, null), new ColumnConfiguration(TableString.ServerOperationLogFieldOperationId, BlazeDbType.INT8), new ColumnConfiguration(TableString.ServerOperationLogFieldUserId, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerOperationLogFieldServerOrGroup, BlazeDbType.INT2), new ColumnConfiguration(TableString.ServerOperationLogFieldTargetId, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerOperationLogFieldOperationType, BlazeDbType.INT2), new ColumnConfiguration(TableString.ServerOperationLogFieldOperationResult, BlazeDbType.INT2), new ColumnConfiguration(TableString.ServerOperationLogFieldDescription, BlazeDbType.LONG_STRING), new ColumnConfiguration(TableString.ServerOperationLogFieldLogTime, BlazeDbType.DATETIME), new ColumnConfiguration(TableString.ServerOperationLogFieldFatherRegion, BlazeDbType.LONG_STRING) }; ColumnConfiguration[] serverMap = new ColumnConfiguration[] { new ColumnConfiguration(TableString.ServerMapFieldId, BlazeDbType.INT4, true), new ColumnConfiguration(TableString.ServerMapFieldParentId, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerMapFieldName, BlazeDbType.STRING), new ColumnConfiguration(TableString.ServerMapFieldMapType, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerMapFieldIndex, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerMapFieldFlag, BlazeDbType.INT4), new ColumnConfiguration(TableString.ServerMapFieldMapServerId, BlazeDbType.INT4) }; DbConfiguration dbCfg = new DbConfiguration( DbFactory.DefaultDbName, new TableConfiguration[] { new TableConfiguration(TableString.ObjectTableName, colCfgsObj), new TableConfiguration(TableString.UserTableName, colCfgsUser), new TableConfiguration(TableString.UserGroupTableName, colCfgsGroup), new TableConfiguration(TableString.UserInGroupTableName, colCfgsUserGroup), new TableConfiguration(TableString.AceTableName, colCfgsAce), new TableConfiguration(TableString.GameServerTableName, colCfgsGameServer), new TableConfiguration(TableString.ServerGroupTableName, colCfgsServerGroup), new TableConfiguration(TableString.ServerRegionTableName, colCfgsServerRegion), new TableConfiguration(TableString.GameLogTableName, colCfgsGameLog), new TableConfiguration(TableString.ServerPlugInTableName, colCfgsServerPlugIn), new TableConfiguration(TableString.StrategyTableName, strategy), new TableConfiguration(TableString.ScheduledTaskTableName, scheduledTask), new TableConfiguration(TableString.UpdateServerTableName, updateServer), new TableConfiguration(TableString.PlayerCountTableName, playerCount), new TableConfiguration(TableString.GMOpLogTableName, gmOpLog), new TableConfiguration(TableString.AccountInfoTableName, accountInfo), new TableConfiguration(TableString.IbShopTableName, ibShop), new TableConfiguration(TableString.BatchTaskTableName, batchTask), new TableConfiguration(TableString.ServerEventTableName, serverEvent), new TableConfiguration(TableString.ServerOperationLogTableName, serverOperationLog), new TableConfiguration(TableString.ServerMapTableName, serverMap) } ); IBlazeDatabase db = DbFactory.GetDatabase(); db.InitDatabase(dbCfg, rebuild); }