@@ -12,19 +12,21 @@ namespace OpenShock.Common.OpenShockDb;
1212/// </summary>
1313public class MigrationOpenShockContext : OpenShockContext
1414{
15- private readonly string _connectionString = string . Empty ;
15+ private readonly string ? _connectionString = null ;
1616 private readonly bool _debug ;
1717 private readonly bool _migrationTool ;
18+ private readonly ILoggerFactory ? _loggerFactory = null ;
1819
1920 public MigrationOpenShockContext ( )
2021 {
2122 _migrationTool = true ;
2223 }
2324
24- public MigrationOpenShockContext ( string connectionString , bool debug )
25+ public MigrationOpenShockContext ( string connectionString , bool debug , ILoggerFactory loggerFactory )
2526 {
2627 _connectionString = connectionString ;
2728 _debug = debug ;
29+ _loggerFactory = loggerFactory ;
2830 }
2931
3032 protected override void OnConfiguring ( DbContextOptionsBuilder optionsBuilder )
@@ -34,7 +36,12 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
3436 ConfigureOptionsBuilder ( optionsBuilder , "Host=localhost;Database=openshock;Username=openshock;Password=openshock" , true ) ;
3537 return ;
3638 }
39+ if ( string . IsNullOrWhiteSpace ( _connectionString ) )
40+ throw new InvalidOperationException ( "Connection string is not set." ) ;
3741 ConfigureOptionsBuilder ( optionsBuilder , _connectionString , _debug ) ;
42+
43+ if ( _loggerFactory != null )
44+ optionsBuilder . UseLoggerFactory ( _loggerFactory ) ;
3845 }
3946}
4047
0 commit comments