< Summary

Information
Class: Elsa.Diagnostics.StructuredLogs.Persistence.Sqlite.Services.SqliteStructuredLogSchemaMigrator
Assembly: Elsa.Diagnostics.StructuredLogs.Persistence.Sqlite
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.StructuredLogs.Persistence.Sqlite/Services/SqliteStructuredLogSchemaMigrator.cs
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 29
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
MigrateAsync(...)100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.StructuredLogs.Persistence.Sqlite/Services/SqliteStructuredLogSchemaMigrator.cs

#LineLine coverage
 1using Elsa.Diagnostics.StructuredLogs.Persistence.Relational.Contracts;
 2using Elsa.Diagnostics.StructuredLogs.Persistence.Relational.Migrations;
 3using Elsa.Diagnostics.StructuredLogs.Persistence.Sqlite.Options;
 4using FluentMigrator.Runner;
 5using Microsoft.Extensions.DependencyInjection;
 6using Microsoft.Extensions.Options;
 7
 8namespace Elsa.Diagnostics.StructuredLogs.Persistence.Sqlite.Services;
 9
 2010public class SqliteStructuredLogSchemaMigrator(IOptions<SqliteStructuredLogOptions> options) : IStructuredLogSchemaMigra
 11{
 12    public ValueTask MigrateAsync(CancellationToken cancellationToken = default)
 13    {
 1814        cancellationToken.ThrowIfCancellationRequested();
 15
 1816        using var services = new ServiceCollection()
 1817            .AddLogging()
 1818            .AddFluentMigratorCore()
 1819            .ConfigureRunner(builder => builder
 1820                .AddSQLite()
 1821                .WithGlobalConnectionString(options.Value.ConnectionString)
 1822                .ScanIn(typeof(M001CreateStructuredLogTables).Assembly).For.Migrations())
 1823            .BuildServiceProvider(false);
 24
 1825        using var scope = services.CreateScope();
 1826        scope.ServiceProvider.GetRequiredService<IMigrationRunner>().MigrateUp();
 1827        return ValueTask.CompletedTask;
 1828    }
 29}