< Summary

Line coverage
0%
Covered lines: 0
Uncovered lines: 493
Coverable lines: 493
Total lines: 548
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
File 1: .ctor(...)100%210%
File 1: Up(...)100%210%
File 1: Down(...)100%210%
File 2: BuildTargetModel(...)100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.EFCore.PostgreSql/Migrations/Runtime/20251204150341_V3_6.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore.Migrations;
 2
 3#nullable disable
 4
 5namespace Elsa.Persistence.EFCore.PostgreSql.Migrations.Runtime
 6{
 7    /// <inheritdoc />
 8    public partial class V3_6 : Migration
 9    {
 10        private readonly Elsa.Persistence.EFCore.IElsaDbContextSchema _schema;
 11
 12        /// <inheritdoc />
 013        public V3_6(Elsa.Persistence.EFCore.IElsaDbContextSchema schema)
 14        {
 015            _schema = schema;
 016        }
 17
 18        /// <inheritdoc />
 19        protected override void Up(MigrationBuilder migrationBuilder)
 20        {
 021            migrationBuilder.CreateIndex(
 022                name: "IX_StoredTrigger_Unique_WorkflowDefinitionId_Hash_ActivityId",
 023                schema: _schema.Schema,
 024                table: "Triggers",
 025                columns: new[] { "WorkflowDefinitionId", "Hash", "ActivityId" },
 026                unique: true);
 027        }
 28
 29        /// <inheritdoc />
 30        protected override void Down(MigrationBuilder migrationBuilder)
 31        {
 032            migrationBuilder.DropIndex(
 033                name: "IX_StoredTrigger_Unique_WorkflowDefinitionId_Hash_ActivityId",
 034                schema: _schema.Schema,
 035                table: "Triggers");
 036        }
 37    }
 38}

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.EFCore.PostgreSql/Migrations/Runtime/20251204150341_V3_6.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Elsa.Persistence.EFCore.Modules.Runtime;
 4using Microsoft.EntityFrameworkCore;
 5using Microsoft.EntityFrameworkCore.Infrastructure;
 6using Microsoft.EntityFrameworkCore.Migrations;
 7using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 8using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 9
 10#nullable disable
 11
 12namespace Elsa.Persistence.EFCore.PostgreSql.Migrations.Runtime
 13{
 14    [DbContext(typeof(RuntimeElsaDbContext))]
 15    [Migration("20251204150341_V3_6")]
 16    partial class V3_6
 17    {
 18        /// <inheritdoc />
 19        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 20        {
 21#pragma warning disable 612, 618
 022            modelBuilder
 023                .HasDefaultSchema("Elsa")
 024                .HasAnnotation("ProductVersion", "9.0.11")
 025                .HasAnnotation("Relational:MaxIdentifierLength", 63);
 26
 027            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
 28
 029            modelBuilder.Entity("Elsa.KeyValues.Entities.SerializedKeyValuePair", b =>
 030                {
 031                    b.Property<string>("Id")
 032                        .HasColumnType("text");
 033
 034                    b.Property<string>("SerializedValue")
 035                        .IsRequired()
 036                        .HasColumnType("text");
 037
 038                    b.Property<string>("TenantId")
 039                        .HasColumnType("text");
 040
 041                    b.HasKey("Id");
 042
 043                    b.HasIndex(new[] { "TenantId" }, "IX_SerializedKeyValuePair_TenantId");
 044
 045                    b.ToTable("KeyValuePairs", "Elsa");
 046                });
 47
 048            modelBuilder.Entity("Elsa.Workflows.Runtime.Entities.ActivityExecutionRecord", b =>
 049                {
 050                    b.Property<string>("Id")
 051                        .HasColumnType("text");
 052
 053                    b.Property<string>("ActivityId")
 054                        .IsRequired()
 055                        .HasColumnType("text");
 056
 057                    b.Property<string>("ActivityName")
 058                        .HasColumnType("text");
 059
 060                    b.Property<string>("ActivityNodeId")
 061                        .IsRequired()
 062                        .HasColumnType("text");
 063
 064                    b.Property<string>("ActivityType")
 065                        .IsRequired()
 066                        .HasColumnType("text");
 067
 068                    b.Property<int>("ActivityTypeVersion")
 069                        .HasColumnType("integer");
 070
 071                    b.Property<int>("AggregateFaultCount")
 072                        .HasColumnType("integer");
 073
 074                    b.Property<DateTimeOffset?>("CompletedAt")
 075                        .HasColumnType("timestamp with time zone");
 076
 077                    b.Property<bool>("HasBookmarks")
 078                        .HasColumnType("boolean");
 079
 080                    b.Property<string>("SerializedActivityState")
 081                        .HasColumnType("text");
 082
 083                    b.Property<string>("SerializedActivityStateCompressionAlgorithm")
 084                        .HasColumnType("text");
 085
 086                    b.Property<string>("SerializedException")
 087                        .HasColumnType("text");
 088
 089                    b.Property<string>("SerializedMetadata")
 090                        .HasColumnType("text");
 091
 092                    b.Property<string>("SerializedOutputs")
 093                        .HasColumnType("text");
 094
 095                    b.Property<string>("SerializedPayload")
 096                        .HasColumnType("text");
 097
 098                    b.Property<string>("SerializedProperties")
 099                        .HasColumnType("text");
 0100
 0101                    b.Property<DateTimeOffset>("StartedAt")
 0102                        .HasColumnType("timestamp with time zone");
 0103
 0104                    b.Property<string>("Status")
 0105                        .IsRequired()
 0106                        .HasColumnType("text");
 0107
 0108                    b.Property<string>("TenantId")
 0109                        .HasColumnType("text");
 0110
 0111                    b.Property<string>("WorkflowInstanceId")
 0112                        .IsRequired()
 0113                        .HasColumnType("text");
 0114
 0115                    b.HasKey("Id");
 0116
 0117                    b.HasIndex("ActivityId")
 0118                        .HasDatabaseName("IX_ActivityExecutionRecord_ActivityId");
 0119
 0120                    b.HasIndex("ActivityName")
 0121                        .HasDatabaseName("IX_ActivityExecutionRecord_ActivityName");
 0122
 0123                    b.HasIndex("ActivityNodeId")
 0124                        .HasDatabaseName("IX_ActivityExecutionRecord_ActivityNodeId");
 0125
 0126                    b.HasIndex("ActivityType")
 0127                        .HasDatabaseName("IX_ActivityExecutionRecord_ActivityType");
 0128
 0129                    b.HasIndex("ActivityTypeVersion")
 0130                        .HasDatabaseName("IX_ActivityExecutionRecord_ActivityTypeVersion");
 0131
 0132                    b.HasIndex("CompletedAt")
 0133                        .HasDatabaseName("IX_ActivityExecutionRecord_CompletedAt");
 0134
 0135                    b.HasIndex("HasBookmarks")
 0136                        .HasDatabaseName("IX_ActivityExecutionRecord_HasBookmarks");
 0137
 0138                    b.HasIndex("StartedAt")
 0139                        .HasDatabaseName("IX_ActivityExecutionRecord_StartedAt");
 0140
 0141                    b.HasIndex("Status")
 0142                        .HasDatabaseName("IX_ActivityExecutionRecord_Status");
 0143
 0144                    b.HasIndex("TenantId")
 0145                        .HasDatabaseName("IX_ActivityExecutionRecord_TenantId");
 0146
 0147                    b.HasIndex("WorkflowInstanceId")
 0148                        .HasDatabaseName("IX_ActivityExecutionRecord_WorkflowInstanceId");
 0149
 0150                    b.HasIndex("ActivityType", "ActivityTypeVersion")
 0151                        .HasDatabaseName("IX_ActivityExecutionRecord_ActivityType_ActivityTypeVersion");
 0152
 0153                    b.ToTable("ActivityExecutionRecords", "Elsa");
 0154                });
 155
 0156            modelBuilder.Entity("Elsa.Workflows.Runtime.Entities.BookmarkQueueItem", b =>
 0157                {
 0158                    b.Property<string>("Id")
 0159                        .HasColumnType("text");
 0160
 0161                    b.Property<string>("ActivityInstanceId")
 0162                        .HasColumnType("text");
 0163
 0164                    b.Property<string>("ActivityTypeName")
 0165                        .HasColumnType("text");
 0166
 0167                    b.Property<string>("BookmarkId")
 0168                        .HasColumnType("text");
 0169
 0170                    b.Property<string>("CorrelationId")
 0171                        .HasColumnType("text");
 0172
 0173                    b.Property<DateTimeOffset>("CreatedAt")
 0174                        .HasColumnType("timestamp with time zone");
 0175
 0176                    b.Property<string>("SerializedOptions")
 0177                        .HasColumnType("text");
 0178
 0179                    b.Property<string>("StimulusHash")
 0180                        .HasColumnType("text");
 0181
 0182                    b.Property<string>("TenantId")
 0183                        .HasColumnType("text");
 0184
 0185                    b.Property<string>("WorkflowInstanceId")
 0186                        .HasColumnType("text");
 0187
 0188                    b.HasKey("Id");
 0189
 0190                    b.HasIndex(new[] { "ActivityInstanceId" }, "IX_BookmarkQueueItem_ActivityInstanceId");
 0191
 0192                    b.HasIndex(new[] { "ActivityTypeName" }, "IX_BookmarkQueueItem_ActivityTypeName");
 0193
 0194                    b.HasIndex(new[] { "BookmarkId" }, "IX_BookmarkQueueItem_BookmarkId");
 0195
 0196                    b.HasIndex(new[] { "CorrelationId" }, "IX_BookmarkQueueItem_CorrelationId");
 0197
 0198                    b.HasIndex(new[] { "CreatedAt" }, "IX_BookmarkQueueItem_CreatedAt");
 0199
 0200                    b.HasIndex(new[] { "StimulusHash" }, "IX_BookmarkQueueItem_StimulusHash");
 0201
 0202                    b.HasIndex(new[] { "TenantId" }, "IX_BookmarkQueueItem_TenantId");
 0203
 0204                    b.HasIndex(new[] { "WorkflowInstanceId" }, "IX_BookmarkQueueItem_WorkflowInstanceId");
 0205
 0206                    b.ToTable("BookmarkQueueItems", "Elsa");
 0207                });
 208
 0209            modelBuilder.Entity("Elsa.Workflows.Runtime.Entities.StoredBookmark", b =>
 0210                {
 0211                    b.Property<string>("Id")
 0212                        .HasColumnType("text");
 0213
 0214                    b.Property<string>("ActivityInstanceId")
 0215                        .HasColumnType("text");
 0216
 0217                    b.Property<string>("ActivityTypeName")
 0218                        .IsRequired()
 0219                        .HasColumnType("text");
 0220
 0221                    b.Property<string>("CorrelationId")
 0222                        .HasColumnType("text");
 0223
 0224                    b.Property<DateTimeOffset>("CreatedAt")
 0225                        .HasColumnType("timestamp with time zone");
 0226
 0227                    b.Property<string>("Hash")
 0228                        .IsRequired()
 0229                        .HasColumnType("text");
 0230
 0231                    b.Property<string>("Name")
 0232                        .HasColumnType("text");
 0233
 0234                    b.Property<string>("SerializedMetadata")
 0235                        .HasColumnType("text");
 0236
 0237                    b.Property<string>("SerializedPayload")
 0238                        .HasColumnType("text");
 0239
 0240                    b.Property<string>("TenantId")
 0241                        .HasColumnType("text");
 0242
 0243                    b.Property<string>("WorkflowInstanceId")
 0244                        .IsRequired()
 0245                        .HasColumnType("text");
 0246
 0247                    b.HasKey("Id");
 0248
 0249                    b.HasIndex(new[] { "ActivityInstanceId" }, "IX_StoredBookmark_ActivityInstanceId");
 0250
 0251                    b.HasIndex(new[] { "ActivityTypeName" }, "IX_StoredBookmark_ActivityTypeName");
 0252
 0253                    b.HasIndex(new[] { "ActivityTypeName", "Hash" }, "IX_StoredBookmark_ActivityTypeName_Hash");
 0254
 0255                    b.HasIndex(new[] { "ActivityTypeName", "Hash", "WorkflowInstanceId" }, "IX_StoredBookmark_ActivityTy
 0256
 0257                    b.HasIndex(new[] { "CreatedAt" }, "IX_StoredBookmark_CreatedAt");
 0258
 0259                    b.HasIndex(new[] { "Hash" }, "IX_StoredBookmark_Hash");
 0260
 0261                    b.HasIndex(new[] { "Name" }, "IX_StoredBookmark_Name");
 0262
 0263                    b.HasIndex(new[] { "Name", "Hash" }, "IX_StoredBookmark_Name_Hash");
 0264
 0265                    b.HasIndex(new[] { "Name", "Hash", "WorkflowInstanceId" }, "IX_StoredBookmark_Name_Hash_WorkflowInst
 0266
 0267                    b.HasIndex(new[] { "TenantId" }, "IX_StoredBookmark_TenantId");
 0268
 0269                    b.HasIndex(new[] { "WorkflowInstanceId" }, "IX_StoredBookmark_WorkflowInstanceId");
 0270
 0271                    b.ToTable("Bookmarks", "Elsa");
 0272                });
 273
 0274            modelBuilder.Entity("Elsa.Workflows.Runtime.Entities.StoredTrigger", b =>
 0275                {
 0276                    b.Property<string>("Id")
 0277                        .HasColumnType("text");
 0278
 0279                    b.Property<string>("ActivityId")
 0280                        .IsRequired()
 0281                        .HasColumnType("text");
 0282
 0283                    b.Property<string>("Hash")
 0284                        .HasColumnType("text");
 0285
 0286                    b.Property<string>("Name")
 0287                        .HasColumnType("text");
 0288
 0289                    b.Property<string>("SerializedPayload")
 0290                        .HasColumnType("text");
 0291
 0292                    b.Property<string>("TenantId")
 0293                        .HasColumnType("text");
 0294
 0295                    b.Property<string>("WorkflowDefinitionId")
 0296                        .IsRequired()
 0297                        .HasColumnType("text");
 0298
 0299                    b.Property<string>("WorkflowDefinitionVersionId")
 0300                        .IsRequired()
 0301                        .HasColumnType("text");
 0302
 0303                    b.HasKey("Id");
 0304
 0305                    b.HasIndex("Hash")
 0306                        .HasDatabaseName("IX_StoredTrigger_Hash");
 0307
 0308                    b.HasIndex("Name")
 0309                        .HasDatabaseName("IX_StoredTrigger_Name");
 0310
 0311                    b.HasIndex("TenantId")
 0312                        .HasDatabaseName("IX_StoredTrigger_TenantId");
 0313
 0314                    b.HasIndex("WorkflowDefinitionId")
 0315                        .HasDatabaseName("IX_StoredTrigger_WorkflowDefinitionId");
 0316
 0317                    b.HasIndex("WorkflowDefinitionVersionId")
 0318                        .HasDatabaseName("IX_StoredTrigger_WorkflowDefinitionVersionId");
 0319
 0320                    b.HasIndex("WorkflowDefinitionId", "Hash", "ActivityId")
 0321                        .IsUnique()
 0322                        .HasDatabaseName("IX_StoredTrigger_Unique_WorkflowDefinitionId_Hash_ActivityId");
 0323
 0324                    b.ToTable("Triggers", "Elsa");
 0325                });
 326
 0327            modelBuilder.Entity("Elsa.Workflows.Runtime.Entities.WorkflowExecutionLogRecord", b =>
 0328                {
 0329                    b.Property<string>("Id")
 0330                        .HasColumnType("text");
 0331
 0332                    b.Property<string>("ActivityId")
 0333                        .IsRequired()
 0334                        .HasColumnType("text");
 0335
 0336                    b.Property<string>("ActivityInstanceId")
 0337                        .IsRequired()
 0338                        .HasColumnType("text");
 0339
 0340                    b.Property<string>("ActivityName")
 0341                        .HasColumnType("text");
 0342
 0343                    b.Property<string>("ActivityNodeId")
 0344                        .IsRequired()
 0345                        .HasColumnType("text");
 0346
 0347                    b.Property<string>("ActivityType")
 0348                        .IsRequired()
 0349                        .HasColumnType("text");
 0350
 0351                    b.Property<int>("ActivityTypeVersion")
 0352                        .HasColumnType("integer");
 0353
 0354                    b.Property<string>("EventName")
 0355                        .HasColumnType("text");
 0356
 0357                    b.Property<string>("Message")
 0358                        .HasColumnType("text");
 0359
 0360                    b.Property<string>("ParentActivityInstanceId")
 0361                        .HasColumnType("text");
 0362
 0363                    b.Property<long>("Sequence")
 0364                        .HasColumnType("bigint");
 0365
 0366                    b.Property<string>("SerializedActivityState")
 0367                        .HasColumnType("text");
 0368
 0369                    b.Property<string>("SerializedPayload")
 0370                        .HasColumnType("text");
 0371
 0372                    b.Property<string>("Source")
 0373                        .HasColumnType("text");
 0374
 0375                    b.Property<string>("TenantId")
 0376                        .HasColumnType("text");
 0377
 0378                    b.Property<DateTimeOffset>("Timestamp")
 0379                        .HasColumnType("timestamp with time zone");
 0380
 0381                    b.Property<string>("WorkflowDefinitionId")
 0382                        .IsRequired()
 0383                        .HasColumnType("text");
 0384
 0385                    b.Property<string>("WorkflowDefinitionVersionId")
 0386                        .IsRequired()
 0387                        .HasColumnType("text");
 0388
 0389                    b.Property<string>("WorkflowInstanceId")
 0390                        .IsRequired()
 0391                        .HasColumnType("text");
 0392
 0393                    b.Property<int>("WorkflowVersion")
 0394                        .HasColumnType("integer");
 0395
 0396                    b.HasKey("Id");
 0397
 0398                    b.HasIndex("ActivityId")
 0399                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityId");
 0400
 0401                    b.HasIndex("ActivityInstanceId")
 0402                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityInstanceId");
 0403
 0404                    b.HasIndex("ActivityName")
 0405                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityName");
 0406
 0407                    b.HasIndex("ActivityNodeId")
 0408                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityNodeId");
 0409
 0410                    b.HasIndex("ActivityType")
 0411                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityType");
 0412
 0413                    b.HasIndex("ActivityTypeVersion")
 0414                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityTypeVersion");
 0415
 0416                    b.HasIndex("EventName")
 0417                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_EventName");
 0418
 0419                    b.HasIndex("ParentActivityInstanceId")
 0420                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ParentActivityInstanceId");
 0421
 0422                    b.HasIndex("Sequence")
 0423                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_Sequence");
 0424
 0425                    b.HasIndex("TenantId")
 0426                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_TenantId");
 0427
 0428                    b.HasIndex("Timestamp")
 0429                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_Timestamp");
 0430
 0431                    b.HasIndex("WorkflowDefinitionId")
 0432                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_WorkflowDefinitionId");
 0433
 0434                    b.HasIndex("WorkflowDefinitionVersionId")
 0435                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_WorkflowDefinitionVersionId");
 0436
 0437                    b.HasIndex("WorkflowInstanceId")
 0438                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_WorkflowInstanceId");
 0439
 0440                    b.HasIndex("WorkflowVersion")
 0441                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_WorkflowVersion");
 0442
 0443                    b.HasIndex("ActivityType", "ActivityTypeVersion")
 0444                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityType_ActivityTypeVersion");
 0445
 0446                    b.HasIndex("Timestamp", "Sequence")
 0447                        .HasDatabaseName("IX_WorkflowExecutionLogRecord_Timestamp_Sequence");
 0448
 0449                    b.ToTable("WorkflowExecutionLogRecords", "Elsa");
 0450                });
 451
 0452            modelBuilder.Entity("Elsa.Workflows.Runtime.Entities.WorkflowInboxMessage", b =>
 0453                {
 0454                    b.Property<string>("Id")
 0455                        .HasColumnType("text");
 0456
 0457                    b.Property<string>("ActivityInstanceId")
 0458                        .HasColumnType("text");
 0459
 0460                    b.Property<string>("ActivityTypeName")
 0461                        .IsRequired()
 0462                        .HasColumnType("text");
 0463
 0464                    b.Property<string>("CorrelationId")
 0465                        .HasColumnType("text");
 0466
 0467                    b.Property<DateTimeOffset>("CreatedAt")
 0468                        .HasColumnType("timestamp with time zone");
 0469
 0470                    b.Property<DateTimeOffset>("ExpiresAt")
 0471                        .HasColumnType("timestamp with time zone");
 0472
 0473                    b.Property<string>("Hash")
 0474                        .IsRequired()
 0475                        .HasColumnType("text");
 0476
 0477                    b.Property<string>("SerializedBookmarkPayload")
 0478                        .HasColumnType("text");
 0479
 0480                    b.Property<string>("SerializedInput")
 0481                        .HasColumnType("text");
 0482
 0483                    b.Property<string>("TenantId")
 0484                        .HasColumnType("text");
 0485
 0486                    b.Property<string>("WorkflowInstanceId")
 0487                        .HasColumnType("text");
 0488
 0489                    b.HasKey("Id");
 0490
 0491                    b.HasIndex(new[] { "ActivityInstanceId" }, "IX_WorkflowInboxMessage_ActivityInstanceId");
 0492
 0493                    b.HasIndex(new[] { "ActivityTypeName" }, "IX_WorkflowInboxMessage_ActivityTypeName");
 0494
 0495                    b.HasIndex(new[] { "CorrelationId" }, "IX_WorkflowInboxMessage_CorrelationId");
 0496
 0497                    b.HasIndex(new[] { "CreatedAt" }, "IX_WorkflowInboxMessage_CreatedAt");
 0498
 0499                    b.HasIndex(new[] { "ExpiresAt" }, "IX_WorkflowInboxMessage_ExpiresAt");
 0500
 0501                    b.HasIndex(new[] { "Hash" }, "IX_WorkflowInboxMessage_Hash");
 0502
 0503                    b.HasIndex(new[] { "WorkflowInstanceId" }, "IX_WorkflowInboxMessage_WorkflowInstanceId");
 0504
 0505                    b.ToTable("WorkflowInboxMessages", "Elsa");
 0506                });
 507#pragma warning restore 612, 618
 0508        }
 509    }
 510}