mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-04-20 19:19:39 +08:00
修改了数据库初始化逻辑
This commit is contained in:
parent
98e484f6fc
commit
47d29ced5e
@ -194,8 +194,8 @@ namespace Milimoe.FunGame.Server.Services.DataUtility
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
OpenConnection();
|
ExecuteDataSet(Core.Library.SQLScript.Common.Configs.Select_GetConfig(this, "Initialization"));
|
||||||
return true;
|
return Success;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -245,7 +245,21 @@ namespace Milimoe.FunGame.Server.Services.DataUtility
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public override bool DatabaseExists()
|
public override bool DatabaseExists()
|
||||||
{
|
{
|
||||||
return File.Exists(ServerInfo.SQLServerDataBase);
|
try
|
||||||
|
{
|
||||||
|
ExecuteDataSet(Core.Library.SQLScript.Common.Configs.Select_GetConfig(this, "Initialization"));
|
||||||
|
return Success;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
ServerHelper.Error(e);
|
||||||
|
_result = SQLResult.Fail;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool _isDisposed = false;
|
private bool _isDisposed = false;
|
||||||
|
@ -43,6 +43,11 @@ namespace Milimoe.FunGame.Server.Services
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static PluginConfig UserKeys { get; set; } = new("system", "user_keys");
|
public static PluginConfig UserKeys { get; set; } = new("system", "user_keys");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 服务器配置
|
||||||
|
/// </summary>
|
||||||
|
public static PluginConfig SQLConfig { get; set; } = new("system", "sqlconfig");
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 默认的 Web API Token ID,在首次初始化数据库时生成一个 Secret Key
|
/// 默认的 Web API Token ID,在首次初始化数据库时生成一个 Secret Key
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -317,7 +322,7 @@ namespace Milimoe.FunGame.Server.Services
|
|||||||
sqlHelper.ExecuteDataSet(ApiTokens.Select_GetAPIToken(sqlHelper, token));
|
sqlHelper.ExecuteDataSet(ApiTokens.Select_GetAPIToken(sqlHelper, token));
|
||||||
if (sqlHelper.Success)
|
if (sqlHelper.Success)
|
||||||
{
|
{
|
||||||
sqlHelper.Execute(ApiTokens.Update_GetAPIToken(sqlHelper, token, key, reference1, reference2));
|
sqlHelper.Execute(ApiTokens.Update_APIToken(sqlHelper, token, key, reference1, reference2));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -337,9 +342,10 @@ namespace Milimoe.FunGame.Server.Services
|
|||||||
public static void AfterCreateSQLService(SQLHelper sqlHelper)
|
public static void AfterCreateSQLService(SQLHelper sqlHelper)
|
||||||
{
|
{
|
||||||
Config.SQLMode = sqlHelper.Mode;
|
Config.SQLMode = sqlHelper.Mode;
|
||||||
if (!sqlHelper.DatabaseExists())
|
ServerHelper.WriteLine("正在检查数据库 . . .", InvokeMessageType.Core);
|
||||||
|
if (!DatabaseExists() && !sqlHelper.DatabaseExists())
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine("正在初始化数据库 . . .", InvokeMessageType.Core);
|
ServerHelper.WriteLine("数据库检查失败,正在初始化数据库 . . .", InvokeMessageType.Core);
|
||||||
if (sqlHelper is SQLiteHelper sqliteHelper)
|
if (sqlHelper is SQLiteHelper sqliteHelper)
|
||||||
{
|
{
|
||||||
sqliteHelper.ExecuteSqlFile(AppDomain.CurrentDomain.BaseDirectory + "fungame_sqlite.sql");
|
sqliteHelper.ExecuteSqlFile(AppDomain.CurrentDomain.BaseDirectory + "fungame_sqlite.sql");
|
||||||
@ -349,12 +355,28 @@ namespace Milimoe.FunGame.Server.Services
|
|||||||
mysqlHelper.ExecuteSqlFile(AppDomain.CurrentDomain.BaseDirectory + "fungame.sql");
|
mysqlHelper.ExecuteSqlFile(AppDomain.CurrentDomain.BaseDirectory + "fungame.sql");
|
||||||
}
|
}
|
||||||
SetAPISecretKey(FunGameWebAPITokenID, sqlHelper: sqlHelper);
|
SetAPISecretKey(FunGameWebAPITokenID, sqlHelper: sqlHelper);
|
||||||
|
sqlHelper.Execute(Configs.Insert_Config(sqlHelper, "Initialization", FunGameInfo.FunGame_Version, "SQL Service Installed."));
|
||||||
|
SQLConfig.Clear();
|
||||||
|
SQLConfig.Add("Initialized", true);
|
||||||
|
SQLConfig.SaveConfig();
|
||||||
|
ServerHelper.WriteLine("数据库初始化完毕!", InvokeMessageType.Core);
|
||||||
}
|
}
|
||||||
|
else ServerHelper.WriteLine("数据库检查通过!", InvokeMessageType.Core);
|
||||||
ServerLogin(sqlHelper);
|
ServerLogin(sqlHelper);
|
||||||
ClearRoomList(sqlHelper);
|
ClearRoomList(sqlHelper);
|
||||||
sqlHelper.Dispose();
|
sqlHelper.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool DatabaseExists()
|
||||||
|
{
|
||||||
|
SQLConfig.LoadConfig();
|
||||||
|
if (SQLConfig.TryGetValue("Initialized", out object? value) && value is bool initialized)
|
||||||
|
{
|
||||||
|
return initialized;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 关闭服务器要做的事
|
/// 关闭服务器要做的事
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user