| | | 1 | | using FluentMigrator; |
| | | 2 | | |
| | | 3 | | namespace Elsa.Diagnostics.StructuredLogs.Persistence.Relational.Migrations; |
| | | 4 | | |
| | | 5 | | [Migration(2026051301)] |
| | | 6 | | public class M001CreateStructuredLogTables : Migration |
| | | 7 | | { |
| | | 8 | | private const string TableName = "StructuredLogEvents"; |
| | | 9 | | |
| | | 10 | | public override void Up() |
| | | 11 | | { |
| | 0 | 12 | | Create.Table(TableName) |
| | 0 | 13 | | .WithColumn("Id").AsString(64).PrimaryKey() |
| | 0 | 14 | | .WithColumn("Sequence").AsInt64().NotNullable() |
| | 0 | 15 | | .WithColumn("Timestamp").AsString(40).NotNullable() |
| | 0 | 16 | | .WithColumn("ReceivedAt").AsString(40).NotNullable() |
| | 0 | 17 | | .WithColumn("Level").AsInt32().NotNullable() |
| | 0 | 18 | | .WithColumn("Category").AsString(512).NotNullable() |
| | 0 | 19 | | .WithColumn("EventId").AsInt32().NotNullable() |
| | 0 | 20 | | .WithColumn("EventName").AsString(512).Nullable() |
| | 0 | 21 | | .WithColumn("Message").AsString(int.MaxValue).NotNullable() |
| | 0 | 22 | | .WithColumn("MessageTemplate").AsString(int.MaxValue).Nullable() |
| | 0 | 23 | | .WithColumn("ExceptionJson").AsString(int.MaxValue).Nullable() |
| | 0 | 24 | | .WithColumn("ScopesJson").AsString(int.MaxValue).NotNullable() |
| | 0 | 25 | | .WithColumn("PropertiesJson").AsString(int.MaxValue).NotNullable() |
| | 0 | 26 | | .WithColumn("TraceId").AsString(64).Nullable() |
| | 0 | 27 | | .WithColumn("SpanId").AsString(64).Nullable() |
| | 0 | 28 | | .WithColumn("CorrelationId").AsString(256).Nullable() |
| | 0 | 29 | | .WithColumn("TenantId").AsString(256).Nullable() |
| | 0 | 30 | | .WithColumn("WorkflowDefinitionId").AsString(256).Nullable() |
| | 0 | 31 | | .WithColumn("WorkflowInstanceId").AsString(256).Nullable() |
| | 0 | 32 | | .WithColumn("SourceId").AsString(512).NotNullable(); |
| | | 33 | | |
| | 0 | 34 | | Create.Index("IX_StructuredLogEvents_Timestamp").OnTable(TableName).OnColumn("Timestamp").Descending(); |
| | 0 | 35 | | Create.Index("IX_StructuredLogEvents_ReceivedAt").OnTable(TableName).OnColumn("ReceivedAt").Descending(); |
| | 0 | 36 | | Create.Index("IX_StructuredLogEvents_Level").OnTable(TableName).OnColumn("Level").Ascending(); |
| | 0 | 37 | | Create.Index("IX_StructuredLogEvents_Category").OnTable(TableName).OnColumn("Category").Ascending(); |
| | 0 | 38 | | Create.Index("IX_StructuredLogEvents_SourceId").OnTable(TableName).OnColumn("SourceId").Ascending(); |
| | 0 | 39 | | Create.Index("IX_StructuredLogEvents_TenantId").OnTable(TableName).OnColumn("TenantId").Ascending(); |
| | 0 | 40 | | Create.Index("IX_StructuredLogEvents_WorkflowDefinitionId").OnTable(TableName).OnColumn("WorkflowDefinitionId"). |
| | 0 | 41 | | Create.Index("IX_StructuredLogEvents_WorkflowInstanceId").OnTable(TableName).OnColumn("WorkflowInstanceId").Asce |
| | 0 | 42 | | Create.Index("IX_StructuredLogEvents_CorrelationId").OnTable(TableName).OnColumn("CorrelationId").Ascending(); |
| | 0 | 43 | | Create.Index("IX_StructuredLogEvents_TraceId").OnTable(TableName).OnColumn("TraceId").Ascending(); |
| | 0 | 44 | | } |
| | | 45 | | |
| | | 46 | | public override void Down() |
| | | 47 | | { |
| | 0 | 48 | | Delete.Table(TableName); |
| | 0 | 49 | | } |
| | | 50 | | } |