Implement phase 5 critical branch extraction
This commit is contained in:
@@ -12,10 +12,12 @@ public sealed class CriticalImportLoader(string databasePath)
|
||||
{
|
||||
await using var dbContext = CreateDbContext();
|
||||
await dbContext.Database.EnsureCreatedAsync(cancellationToken);
|
||||
await RolemasterDbSchemaUpgrader.EnsureLatestAsync(dbContext, cancellationToken);
|
||||
|
||||
var removedTableCount = await dbContext.CriticalTables.CountAsync(cancellationToken);
|
||||
await using var transaction = await dbContext.Database.BeginTransactionAsync(cancellationToken);
|
||||
|
||||
await dbContext.CriticalBranches.ExecuteDeleteAsync(cancellationToken);
|
||||
await dbContext.CriticalResults.ExecuteDeleteAsync(cancellationToken);
|
||||
await dbContext.CriticalGroups.ExecuteDeleteAsync(cancellationToken);
|
||||
await dbContext.CriticalColumns.ExecuteDeleteAsync(cancellationToken);
|
||||
@@ -30,6 +32,7 @@ public sealed class CriticalImportLoader(string databasePath)
|
||||
{
|
||||
await using var dbContext = CreateDbContext();
|
||||
await dbContext.Database.EnsureCreatedAsync(cancellationToken);
|
||||
await RolemasterDbSchemaUpgrader.EnsureLatestAsync(dbContext, cancellationToken);
|
||||
await using var transaction = await dbContext.Database.BeginTransactionAsync(cancellationToken);
|
||||
|
||||
await DeleteTableAsync(dbContext, table.Slug, cancellationToken);
|
||||
@@ -86,7 +89,21 @@ public sealed class CriticalImportLoader(string databasePath)
|
||||
DescriptionText = item.DescriptionText,
|
||||
RawAffixText = item.RawAffixText,
|
||||
ParsedJson = "{}",
|
||||
ParseStatus = "raw"
|
||||
ParseStatus = "raw",
|
||||
Branches = item.Branches
|
||||
.Select(branch => new CriticalBranch
|
||||
{
|
||||
BranchKind = branch.BranchKind,
|
||||
ConditionKey = branch.ConditionKey,
|
||||
ConditionText = branch.ConditionText,
|
||||
ConditionJson = "{}",
|
||||
RawText = branch.RawText,
|
||||
DescriptionText = branch.DescriptionText,
|
||||
RawAffixText = branch.RawAffixText,
|
||||
ParsedJson = "{}",
|
||||
SortOrder = branch.SortOrder
|
||||
})
|
||||
.ToList()
|
||||
})
|
||||
.ToList();
|
||||
|
||||
@@ -121,6 +138,10 @@ public sealed class CriticalImportLoader(string databasePath)
|
||||
return;
|
||||
}
|
||||
|
||||
await dbContext.CriticalBranches
|
||||
.Where(item => item.CriticalResult.CriticalTableId == tableId.Value)
|
||||
.ExecuteDeleteAsync(cancellationToken);
|
||||
|
||||
await dbContext.CriticalResults
|
||||
.Where(item => item.CriticalTableId == tableId.Value)
|
||||
.ExecuteDeleteAsync(cancellationToken);
|
||||
|
||||
Reference in New Issue
Block a user