< Summary

Information
Class: Elsa.Diagnostics.StructuredLogs.Persistence.Relational.Migrations.M001CreateStructuredLogTables
Assembly: Elsa.Diagnostics.StructuredLogs.Persistence.Relational
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.StructuredLogs.Persistence.Relational/Migrations/M001_CreateStructuredLogTables.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 34
Coverable lines: 34
Total lines: 50
Line coverage: 0%
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
Up()100%210%
Down()100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.StructuredLogs.Persistence.Relational/Migrations/M001_CreateStructuredLogTables.cs

#LineLine coverage
 1using FluentMigrator;
 2
 3namespace Elsa.Diagnostics.StructuredLogs.Persistence.Relational.Migrations;
 4
 5[Migration(2026051301)]
 6public class M001CreateStructuredLogTables : Migration
 7{
 8    private const string TableName = "StructuredLogEvents";
 9
 10    public override void Up()
 11    {
 012        Create.Table(TableName)
 013            .WithColumn("Id").AsString(64).PrimaryKey()
 014            .WithColumn("Sequence").AsInt64().NotNullable()
 015            .WithColumn("Timestamp").AsString(40).NotNullable()
 016            .WithColumn("ReceivedAt").AsString(40).NotNullable()
 017            .WithColumn("Level").AsInt32().NotNullable()
 018            .WithColumn("Category").AsString(512).NotNullable()
 019            .WithColumn("EventId").AsInt32().NotNullable()
 020            .WithColumn("EventName").AsString(512).Nullable()
 021            .WithColumn("Message").AsString(int.MaxValue).NotNullable()
 022            .WithColumn("MessageTemplate").AsString(int.MaxValue).Nullable()
 023            .WithColumn("ExceptionJson").AsString(int.MaxValue).Nullable()
 024            .WithColumn("ScopesJson").AsString(int.MaxValue).NotNullable()
 025            .WithColumn("PropertiesJson").AsString(int.MaxValue).NotNullable()
 026            .WithColumn("TraceId").AsString(64).Nullable()
 027            .WithColumn("SpanId").AsString(64).Nullable()
 028            .WithColumn("CorrelationId").AsString(256).Nullable()
 029            .WithColumn("TenantId").AsString(256).Nullable()
 030            .WithColumn("WorkflowDefinitionId").AsString(256).Nullable()
 031            .WithColumn("WorkflowInstanceId").AsString(256).Nullable()
 032            .WithColumn("SourceId").AsString(512).NotNullable();
 33
 034        Create.Index("IX_StructuredLogEvents_Timestamp").OnTable(TableName).OnColumn("Timestamp").Descending();
 035        Create.Index("IX_StructuredLogEvents_ReceivedAt").OnTable(TableName).OnColumn("ReceivedAt").Descending();
 036        Create.Index("IX_StructuredLogEvents_Level").OnTable(TableName).OnColumn("Level").Ascending();
 037        Create.Index("IX_StructuredLogEvents_Category").OnTable(TableName).OnColumn("Category").Ascending();
 038        Create.Index("IX_StructuredLogEvents_SourceId").OnTable(TableName).OnColumn("SourceId").Ascending();
 039        Create.Index("IX_StructuredLogEvents_TenantId").OnTable(TableName).OnColumn("TenantId").Ascending();
 040        Create.Index("IX_StructuredLogEvents_WorkflowDefinitionId").OnTable(TableName).OnColumn("WorkflowDefinitionId").
 041        Create.Index("IX_StructuredLogEvents_WorkflowInstanceId").OnTable(TableName).OnColumn("WorkflowInstanceId").Asce
 042        Create.Index("IX_StructuredLogEvents_CorrelationId").OnTable(TableName).OnColumn("CorrelationId").Ascending();
 043        Create.Index("IX_StructuredLogEvents_TraceId").OnTable(TableName).OnColumn("TraceId").Ascending();
 044    }
 45
 46    public override void Down()
 47    {
 048        Delete.Table(TableName);
 049    }
 50}

Methods/Properties

Up()
Down()