< Summary

Line coverage
97%
Covered lines: 316
Uncovered lines: 7
Coverable lines: 323
Total lines: 392
Line coverage: 97.8%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
File 1: .ctor(...)50%22100%
File 1: Up(...)100%11100%
File 1: Down(...)100%210%
File 2: BuildTargetModel(...)100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.EFCore.SqlServer/Migrations/Management/20231015122227_Initial.cs

#LineLine coverage
 1
 2using Microsoft.EntityFrameworkCore.Migrations;
 3
 4#nullable disable
 5
 6namespace Elsa.Persistence.EFCore.SqlServer.Migrations.Management
 7{
 8    /// <inheritdoc />
 9    public partial class Initial : Migration
 10    {
 11        private readonly IElsaDbContextSchema _schema;
 112        public Initial(IElsaDbContextSchema schema)
 13        {
 114            _schema = schema ?? throw new ArgumentNullException(nameof(schema));
 115        }
 16        /// <inheritdoc />
 17        protected override void Up(MigrationBuilder migrationBuilder)
 18        {
 119            migrationBuilder.EnsureSchema(
 120                name: _schema.Schema);
 21
 122            migrationBuilder.CreateTable(
 123                name: "WorkflowDefinitions",
 124                schema: _schema.Schema  ,
 125                columns: table => new
 126                {
 127                    Id = table.Column<string>(type: "nvarchar(450)", nullable: false),
 128                    DefinitionId = table.Column<string>(type: "nvarchar(450)", nullable: false),
 129                    Name = table.Column<string>(type: "nvarchar(450)", nullable: true),
 130                    Description = table.Column<string>(type: "nvarchar(max)", nullable: true),
 131                    ToolVersion = table.Column<string>(type: "nvarchar(max)", nullable: true),
 132                    ProviderName = table.Column<string>(type: "nvarchar(max)", nullable: true),
 133                    MaterializerName = table.Column<string>(type: "nvarchar(max)", nullable: false),
 134                    MaterializerContext = table.Column<string>(type: "nvarchar(max)", nullable: true),
 135                    StringData = table.Column<string>(type: "nvarchar(max)", nullable: true),
 136                    BinaryData = table.Column<byte[]>(type: "varbinary(max)", nullable: true),
 137                    IsReadonly = table.Column<bool>(type: "bit", nullable: false),
 138                    Data = table.Column<string>(type: "nvarchar(max)", nullable: true),
 139                    UsableAsActivity = table.Column<bool>(type: "bit", nullable: true),
 140                    CreatedAt = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
 141                    Version = table.Column<int>(type: "int", nullable: false),
 142                    IsLatest = table.Column<bool>(type: "bit", nullable: false),
 143                    IsPublished = table.Column<bool>(type: "bit", nullable: false)
 144                },
 145                constraints: table =>
 146                {
 147                    table.PrimaryKey("PK_WorkflowDefinitions", x => x.Id);
 248                });
 49
 150            migrationBuilder.CreateTable(
 151                name: "WorkflowInstances",
 152                schema: _schema.Schema,
 153                columns: table => new
 154                {
 155                    Id = table.Column<string>(type: "nvarchar(450)", nullable: false),
 156                    DefinitionId = table.Column<string>(type: "nvarchar(450)", nullable: false),
 157                    DefinitionVersionId = table.Column<string>(type: "nvarchar(max)", nullable: false),
 158                    Version = table.Column<int>(type: "int", nullable: false),
 159                    Status = table.Column<string>(type: "nvarchar(450)", nullable: false),
 160                    SubStatus = table.Column<string>(type: "nvarchar(450)", nullable: false),
 161                    CorrelationId = table.Column<string>(type: "nvarchar(450)", nullable: true),
 162                    Name = table.Column<string>(type: "nvarchar(450)", nullable: true),
 163                    IncidentCount = table.Column<int>(type: "int", nullable: false),
 164                    CreatedAt = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
 165                    UpdatedAt = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
 166                    FinishedAt = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
 167                    Data = table.Column<string>(type: "nvarchar(max)", nullable: true)
 168                },
 169                constraints: table =>
 170                {
 171                    table.PrimaryKey("PK_WorkflowInstances", x => x.Id);
 272                });
 73
 174            migrationBuilder.CreateIndex(
 175                name: "IX_WorkflowDefinition_DefinitionId_Version",
 176                schema: _schema.Schema,
 177                table: "WorkflowDefinitions",
 178                columns: new[] { "DefinitionId", "Version" },
 179                unique: true);
 80
 181            migrationBuilder.CreateIndex(
 182                name: "IX_WorkflowDefinition_IsLatest",
 183                schema: _schema.Schema,
 184                table: "WorkflowDefinitions",
 185                column: "IsLatest");
 86
 187            migrationBuilder.CreateIndex(
 188                name: "IX_WorkflowDefinition_IsPublished",
 189                schema: _schema.Schema,
 190                table: "WorkflowDefinitions",
 191                column: "IsPublished");
 92
 193            migrationBuilder.CreateIndex(
 194                name: "IX_WorkflowDefinition_Name",
 195                schema: _schema.Schema,
 196                table: "WorkflowDefinitions",
 197                column: "Name");
 98
 199            migrationBuilder.CreateIndex(
 1100                name: "IX_WorkflowDefinition_UsableAsActivity",
 1101                schema: _schema.Schema,
 1102                table: "WorkflowDefinitions",
 1103                column: "UsableAsActivity");
 104
 1105            migrationBuilder.CreateIndex(
 1106                name: "IX_WorkflowDefinition_Version",
 1107                schema: _schema.Schema,
 1108                table: "WorkflowDefinitions",
 1109                column: "Version");
 110
 1111            migrationBuilder.CreateIndex(
 1112                name: "IX_WorkflowInstance_CorrelationId",
 1113                schema: _schema.Schema,
 1114                table: "WorkflowInstances",
 1115                column: "CorrelationId");
 116
 1117            migrationBuilder.CreateIndex(
 1118                name: "IX_WorkflowInstance_CreatedAt",
 1119                schema: _schema.Schema,
 1120                table: "WorkflowInstances",
 1121                column: "CreatedAt");
 122
 1123            migrationBuilder.CreateIndex(
 1124                name: "IX_WorkflowInstance_DefinitionId",
 1125                schema: _schema.Schema,
 1126                table: "WorkflowInstances",
 1127                column: "DefinitionId");
 128
 1129            migrationBuilder.CreateIndex(
 1130                name: "IX_WorkflowInstance_FinishedAt",
 1131                schema: _schema.Schema,
 1132                table: "WorkflowInstances",
 1133                column: "FinishedAt");
 134
 1135            migrationBuilder.CreateIndex(
 1136                name: "IX_WorkflowInstance_Name",
 1137                schema: _schema.Schema,
 1138                table: "WorkflowInstances",
 1139                column: "Name");
 140
 1141            migrationBuilder.CreateIndex(
 1142                name: "IX_WorkflowInstance_Status",
 1143                schema: _schema.Schema,
 1144                table: "WorkflowInstances",
 1145                column: "Status");
 146
 1147            migrationBuilder.CreateIndex(
 1148                name: "IX_WorkflowInstance_Status_DefinitionId",
 1149                schema: _schema.Schema,
 1150                table: "WorkflowInstances",
 1151                columns: new[] { "Status", "DefinitionId" });
 152
 1153            migrationBuilder.CreateIndex(
 1154                name: "IX_WorkflowInstance_Status_SubStatus",
 1155                schema: _schema.Schema,
 1156                table: "WorkflowInstances",
 1157                columns: new[] { "Status", "SubStatus" });
 158
 1159            migrationBuilder.CreateIndex(
 1160                name: "IX_WorkflowInstance_Status_SubStatus_DefinitionId_Version",
 1161                schema: _schema.Schema,
 1162                table: "WorkflowInstances",
 1163                columns: new[] { "Status", "SubStatus", "DefinitionId", "Version" });
 164
 1165            migrationBuilder.CreateIndex(
 1166                name: "IX_WorkflowInstance_SubStatus",
 1167                schema: _schema.Schema,
 1168                table: "WorkflowInstances",
 1169                column: "SubStatus");
 170
 1171            migrationBuilder.CreateIndex(
 1172                name: "IX_WorkflowInstance_SubStatus_DefinitionId",
 1173                schema: _schema.Schema,
 1174                table: "WorkflowInstances",
 1175                columns: new[] { "SubStatus", "DefinitionId" });
 176
 1177            migrationBuilder.CreateIndex(
 1178                name: "IX_WorkflowInstance_UpdatedAt",
 1179                schema: _schema.Schema,
 1180                table: "WorkflowInstances",
 1181                column: "UpdatedAt");
 1182        }
 183
 184        /// <inheritdoc />
 185        protected override void Down(MigrationBuilder migrationBuilder)
 186        {
 0187            migrationBuilder.DropTable(
 0188                name: "WorkflowDefinitions",
 0189                schema: _schema.Schema);
 190
 0191            migrationBuilder.DropTable(
 0192                name: "WorkflowInstances",
 0193                schema: _schema.Schema);
 0194        }
 195    }
 196}

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.EFCore.SqlServer/Migrations/Management/20231015122227_Initial.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Elsa.Persistence.EFCore.Modules.Management;
 4using Microsoft.EntityFrameworkCore;
 5using Microsoft.EntityFrameworkCore.Infrastructure;
 6using Microsoft.EntityFrameworkCore.Metadata;
 7using Microsoft.EntityFrameworkCore.Migrations;
 8using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 9
 10#nullable disable
 11
 12namespace Elsa.Persistence.EFCore.SqlServer.Migrations.Management
 13{
 14    [DbContext(typeof(ManagementElsaDbContext))]
 15    [Migration("20231015122227_Initial")]
 16    partial class Initial
 17    {
 18        /// <inheritdoc />
 19        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 20        {
 21#pragma warning disable 612, 618
 122            modelBuilder
 123                .HasDefaultSchema("Elsa")
 124                .HasAnnotation("ProductVersion", "7.0.11")
 125                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 26
 127            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 28
 129            modelBuilder.Entity("Elsa.Workflows.Management.Entities.WorkflowDefinition", b =>
 130                {
 131                    b.Property<string>("Id")
 132                        .HasColumnType("nvarchar(450)");
 133
 134                    b.Property<byte[]>("BinaryData")
 135                        .HasColumnType("varbinary(max)");
 136
 137                    b.Property<DateTimeOffset>("CreatedAt")
 138                        .HasColumnType("datetimeoffset");
 139
 140                    b.Property<string>("Data")
 141                        .HasColumnType("nvarchar(max)");
 142
 143                    b.Property<string>("DefinitionId")
 144                        .IsRequired()
 145                        .HasColumnType("nvarchar(450)");
 146
 147                    b.Property<string>("Description")
 148                        .HasColumnType("nvarchar(max)");
 149
 150                    b.Property<bool>("IsLatest")
 151                        .HasColumnType("bit");
 152
 153                    b.Property<bool>("IsPublished")
 154                        .HasColumnType("bit");
 155
 156                    b.Property<bool>("IsReadonly")
 157                        .HasColumnType("bit");
 158
 159                    b.Property<string>("MaterializerContext")
 160                        .HasColumnType("nvarchar(max)");
 161
 162                    b.Property<string>("MaterializerName")
 163                        .IsRequired()
 164                        .HasColumnType("nvarchar(max)");
 165
 166                    b.Property<string>("Name")
 167                        .HasColumnType("nvarchar(450)");
 168
 169                    b.Property<string>("ProviderName")
 170                        .HasColumnType("nvarchar(max)");
 171
 172                    b.Property<string>("StringData")
 173                        .HasColumnType("nvarchar(max)");
 174
 175                    b.Property<string>("ToolVersion")
 176                        .HasColumnType("nvarchar(max)");
 177
 178                    b.Property<bool?>("UsableAsActivity")
 179                        .HasColumnType("bit");
 180
 181                    b.Property<int>("Version")
 182                        .HasColumnType("int");
 183
 184                    b.HasKey("Id");
 185
 186                    b.HasIndex("IsLatest")
 187                        .HasDatabaseName("IX_WorkflowDefinition_IsLatest");
 188
 189                    b.HasIndex("IsPublished")
 190                        .HasDatabaseName("IX_WorkflowDefinition_IsPublished");
 191
 192                    b.HasIndex("Name")
 193                        .HasDatabaseName("IX_WorkflowDefinition_Name");
 194
 195                    b.HasIndex("UsableAsActivity")
 196                        .HasDatabaseName("IX_WorkflowDefinition_UsableAsActivity");
 197
 198                    b.HasIndex("Version")
 199                        .HasDatabaseName("IX_WorkflowDefinition_Version");
 1100
 1101                    b.HasIndex("DefinitionId", "Version")
 1102                        .IsUnique()
 1103                        .HasDatabaseName("IX_WorkflowDefinition_DefinitionId_Version");
 1104
 1105                    b.ToTable("WorkflowDefinitions", "Elsa");
 2106                });
 107
 1108            modelBuilder.Entity("Elsa.Workflows.Management.Entities.WorkflowInstance", b =>
 1109                {
 1110                    b.Property<string>("Id")
 1111                        .HasColumnType("nvarchar(450)");
 1112
 1113                    b.Property<string>("CorrelationId")
 1114                        .HasColumnType("nvarchar(450)");
 1115
 1116                    b.Property<DateTimeOffset>("CreatedAt")
 1117                        .HasColumnType("datetimeoffset");
 1118
 1119                    b.Property<string>("Data")
 1120                        .HasColumnType("nvarchar(max)");
 1121
 1122                    b.Property<string>("DefinitionId")
 1123                        .IsRequired()
 1124                        .HasColumnType("nvarchar(450)");
 1125
 1126                    b.Property<string>("DefinitionVersionId")
 1127                        .IsRequired()
 1128                        .HasColumnType("nvarchar(max)");
 1129
 1130                    b.Property<DateTimeOffset?>("FinishedAt")
 1131                        .HasColumnType("datetimeoffset");
 1132
 1133                    b.Property<int>("IncidentCount")
 1134                        .HasColumnType("int");
 1135
 1136                    b.Property<string>("Name")
 1137                        .HasColumnType("nvarchar(450)");
 1138
 1139                    b.Property<string>("Status")
 1140                        .IsRequired()
 1141                        .HasColumnType("nvarchar(450)");
 1142
 1143                    b.Property<string>("SubStatus")
 1144                        .IsRequired()
 1145                        .HasColumnType("nvarchar(450)");
 1146
 1147                    b.Property<DateTimeOffset>("UpdatedAt")
 1148                        .HasColumnType("datetimeoffset");
 1149
 1150                    b.Property<int>("Version")
 1151                        .HasColumnType("int");
 1152
 1153                    b.HasKey("Id");
 1154
 1155                    b.HasIndex("CorrelationId")
 1156                        .HasDatabaseName("IX_WorkflowInstance_CorrelationId");
 1157
 1158                    b.HasIndex("CreatedAt")
 1159                        .HasDatabaseName("IX_WorkflowInstance_CreatedAt");
 1160
 1161                    b.HasIndex("DefinitionId")
 1162                        .HasDatabaseName("IX_WorkflowInstance_DefinitionId");
 1163
 1164                    b.HasIndex("FinishedAt")
 1165                        .HasDatabaseName("IX_WorkflowInstance_FinishedAt");
 1166
 1167                    b.HasIndex("Name")
 1168                        .HasDatabaseName("IX_WorkflowInstance_Name");
 1169
 1170                    b.HasIndex("Status")
 1171                        .HasDatabaseName("IX_WorkflowInstance_Status");
 1172
 1173                    b.HasIndex("SubStatus")
 1174                        .HasDatabaseName("IX_WorkflowInstance_SubStatus");
 1175
 1176                    b.HasIndex("UpdatedAt")
 1177                        .HasDatabaseName("IX_WorkflowInstance_UpdatedAt");
 1178
 1179                    b.HasIndex("Status", "DefinitionId")
 1180                        .HasDatabaseName("IX_WorkflowInstance_Status_DefinitionId");
 1181
 1182                    b.HasIndex("Status", "SubStatus")
 1183                        .HasDatabaseName("IX_WorkflowInstance_Status_SubStatus");
 1184
 1185                    b.HasIndex("SubStatus", "DefinitionId")
 1186                        .HasDatabaseName("IX_WorkflowInstance_SubStatus_DefinitionId");
 1187
 1188                    b.HasIndex("Status", "SubStatus", "DefinitionId", "Version")
 1189                        .HasDatabaseName("IX_WorkflowInstance_Status_SubStatus_DefinitionId_Version");
 1190
 1191                    b.ToTable("WorkflowInstances", "Elsa");
 2192                });
 193#pragma warning restore 612, 618
 1194        }
 195    }
 196}