|
|
@@ -368,6 +368,31 @@ public static class SqlSugarSetup
|
|
|
Console.WriteLine($"初始化视图 {dbProvider.CurrentConnectionConfig.DbType} - {dbProvider.CurrentConnectionConfig.ConfigId} 总耗时:{totalWatch.ElapsedMilliseconds:N0} ms");
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 等待数据库就绪
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dbProvider"></param>
|
|
|
+ private static void WaitForDatabaseReady(SqlSugarScopeProvider dbProvider)
|
|
|
+ {
|
|
|
+ do
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if (dbProvider.Ado.Connection.State != ConnectionState.Open)
|
|
|
+ dbProvider.Ado.Connection.Open();
|
|
|
+
|
|
|
+ // 如果连接成功,直接返回
|
|
|
+ Log.Information("数据库连接成功。");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ Log.Warning($"数据库尚未就绪,等待中... 错误:{ex.Message}");
|
|
|
+ Thread.Sleep(1000);
|
|
|
+ }
|
|
|
+ } while (true);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 初始化数据库
|
|
|
/// </summary>
|
|
|
@@ -377,6 +402,9 @@ public static class SqlSugarSetup
|
|
|
{
|
|
|
var dbProvider = db.GetConnectionScope(config.ConfigId);
|
|
|
|
|
|
+ // 等待数据库连接就绪
|
|
|
+ WaitForDatabaseReady(dbProvider);
|
|
|
+
|
|
|
// 初始化数据库
|
|
|
if (config.DbSettings.EnableInitDb)
|
|
|
{
|