< Summary - Syki

Information
Class: Syki.Back.Extensions.SykiDbContextExtensions
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Extensions/SykiDbContextExtensions.cs
Tag: 97_27801654829
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
Total lines: 28
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
HasMissingMigration(...)0%7280%

File(s)

/home/runner/work/syki/syki/Back/Extensions/SykiDbContextExtensions.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore.Metadata;
 2using Microsoft.EntityFrameworkCore.Migrations;
 3using Microsoft.EntityFrameworkCore.Infrastructure;
 4
 5namespace Syki.Back.Extensions;
 6
 7public static class SykiDbContextExtensions
 8{
 9    public static bool HasMissingMigration(this SykiDbContext context)
 10    {
 011        var modelDiffer = context.GetService<IMigrationsModelDiffer>();
 12
 013        var migrationsAssembly = context.GetService<IMigrationsAssembly>();
 014        var modelInitializer = context.GetService<IModelRuntimeInitializer>();
 15
 016        var snapshotModel = migrationsAssembly.ModelSnapshot?.Model;
 017        if (snapshotModel is IMutableModel mutableModel)
 018            snapshotModel = mutableModel.FinalizeModel();
 019        if (snapshotModel is not null)
 020            snapshotModel = modelInitializer.Initialize(snapshotModel);
 21
 022        var designTimeModel = context.GetService<IDesignTimeModel>();
 23
 024        return modelDiffer.HasDifferences(
 025            snapshotModel?.GetRelationalModel(),
 026            designTimeModel.Model.GetRelationalModel());
 27    }
 28}