diff --git a/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/20210308175249_AddIndicies.Designer.cs b/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/20210308175249_AddIndicies.Designer.cs
new file mode 100644
index 000000000..388462bbd
--- /dev/null
+++ b/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/20210308175249_AddIndicies.Designer.cs
@@ -0,0 +1,272 @@
+//
+using System;
+using Elsa.Persistence.EntityFramework.Core;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
+{
+ [DbContext(typeof(ElsaContext))]
+ [Migration("20210308175249_AddIndicies")]
+ partial class AddIndicies
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .UseIdentityColumns()
+ .HasAnnotation("Relational:MaxIdentifierLength", 128)
+ .HasAnnotation("ProductVersion", "5.0.2");
+
+ modelBuilder.Entity("Elsa.Models.Bookmark", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ActivityId")
+ .IsRequired()
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ActivityType")
+ .IsRequired()
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Hash")
+ .IsRequired()
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Model")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ModelType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("WorkflowInstanceId")
+ .IsRequired()
+ .HasColumnType("nvarchar(450)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ActivityId")
+ .HasDatabaseName("IX_Bookmark_ActivityId");
+
+ b.HasIndex("ActivityType")
+ .HasDatabaseName("IX_Bookmark_ActivityType");
+
+ b.HasIndex("Hash")
+ .HasDatabaseName("IX_Bookmark_Hash");
+
+ b.HasIndex("TenantId")
+ .HasDatabaseName("IX_Bookmark_TenantId");
+
+ b.HasIndex("WorkflowInstanceId")
+ .HasDatabaseName("IX_Bookmark_WorkflowInstanceId");
+
+ b.HasIndex("ActivityType", "TenantId", "Hash")
+ .HasDatabaseName("IX_Bookmark_ActivityType_TenantId_Hash");
+
+ b.ToTable("Bookmarks");
+ });
+
+ modelBuilder.Entity("Elsa.Models.WorkflowDefinition", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Data")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DefinitionId")
+ .IsRequired()
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("DeleteCompletedInstances")
+ .HasColumnType("bit");
+
+ b.Property("Description")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DisplayName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsLatest")
+ .HasColumnType("bit");
+
+ b.Property("IsPublished")
+ .HasColumnType("bit");
+
+ b.Property("IsSingleton")
+ .HasColumnType("bit");
+
+ b.Property("Name")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("PersistenceBehavior")
+ .HasColumnType("int");
+
+ b.Property("TenantId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IsLatest")
+ .HasDatabaseName("IX_WorkflowDefinition_IsLatest");
+
+ b.HasIndex("IsPublished")
+ .HasDatabaseName("IX_WorkflowDefinition_IsPublished");
+
+ b.HasIndex("Name")
+ .HasDatabaseName("IX_WorkflowDefinition_Name");
+
+ b.HasIndex("TenantId")
+ .HasDatabaseName("IX_WorkflowDefinition_TenantId");
+
+ b.HasIndex("Version")
+ .HasDatabaseName("IX_WorkflowDefinition_Version");
+
+ b.HasIndex("DefinitionId", "Version")
+ .HasDatabaseName("IX_WorkflowDefinition_DefinitionId_VersionId");
+
+ b.ToTable("WorkflowDefinitions");
+ });
+
+ modelBuilder.Entity("Elsa.Models.WorkflowExecutionLogRecord", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ActivityId")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ActivityType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Data")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Message")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Source")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantId")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Timestamp")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("WorkflowInstanceId")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("WorkflowExecutionLogRecords");
+ });
+
+ modelBuilder.Entity("Elsa.Models.WorkflowInstance", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("CancelledAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("ContextId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ContextType")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("CorrelationId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("Data")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DefinitionId")
+ .IsRequired()
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("FaultedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("FinishedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("LastExecutedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("Name")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("TenantId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.Property("WorkflowStatus")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ContextId")
+ .HasDatabaseName("IX_WorkflowInstance_ContextId");
+
+ b.HasIndex("ContextType")
+ .HasDatabaseName("IX_WorkflowInstance_ContextType");
+
+ b.HasIndex("CorrelationId")
+ .HasDatabaseName("IX_WorkflowInstance_CorrelationId");
+
+ b.HasIndex("CreatedAt")
+ .HasDatabaseName("IX_WorkflowInstance_CreatedAt");
+
+ b.HasIndex("DefinitionId")
+ .HasDatabaseName("IX_WorkflowInstance_DefinitionId");
+
+ b.HasIndex("FaultedAt")
+ .HasDatabaseName("IX_WorkflowInstance_FaultedAt");
+
+ b.HasIndex("FinishedAt")
+ .HasDatabaseName("IX_WorkflowInstance_FinishedAt");
+
+ b.HasIndex("LastExecutedAt")
+ .HasDatabaseName("IX_WorkflowInstance_LastExecutedAt");
+
+ b.HasIndex("Name")
+ .HasDatabaseName("IX_WorkflowInstance_Name");
+
+ b.HasIndex("TenantId")
+ .HasDatabaseName("IX_WorkflowInstance_TenantId");
+
+ b.HasIndex("WorkflowStatus")
+ .HasDatabaseName("IX_WorkflowInstance_WorkflowStatus");
+
+ b.HasIndex("WorkflowStatus", "DefinitionId", "Version")
+ .HasDatabaseName("IX_WorkflowInstance_WorkflowStatus_DefinitionId_Version");
+
+ b.ToTable("WorkflowInstances");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/20210308175249_AddIndicies.cs b/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/20210308175249_AddIndicies.cs
new file mode 100644
index 000000000..8bd01bc04
--- /dev/null
+++ b/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/20210308175249_AddIndicies.cs
@@ -0,0 +1,469 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
+{
+ public partial class AddIndicies : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn(
+ name: "TenantId",
+ table: "WorkflowInstances",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Name",
+ table: "WorkflowInstances",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "DefinitionId",
+ table: "WorkflowInstances",
+ type: "nvarchar(450)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+
+ migrationBuilder.AlterColumn(
+ name: "CorrelationId",
+ table: "WorkflowInstances",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "ContextType",
+ table: "WorkflowInstances",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "ContextId",
+ table: "WorkflowInstances",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "TenantId",
+ table: "WorkflowDefinitions",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Name",
+ table: "WorkflowDefinitions",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "DefinitionId",
+ table: "WorkflowDefinitions",
+ type: "nvarchar(450)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+
+ migrationBuilder.AlterColumn(
+ name: "WorkflowInstanceId",
+ table: "Bookmarks",
+ type: "nvarchar(450)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+
+ migrationBuilder.AlterColumn(
+ name: "TenantId",
+ table: "Bookmarks",
+ type: "nvarchar(450)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Hash",
+ table: "Bookmarks",
+ type: "nvarchar(450)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+
+ migrationBuilder.AlterColumn(
+ name: "ActivityType",
+ table: "Bookmarks",
+ type: "nvarchar(450)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+
+ migrationBuilder.AlterColumn(
+ name: "ActivityId",
+ table: "Bookmarks",
+ type: "nvarchar(450)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_ContextId",
+ table: "WorkflowInstances",
+ column: "ContextId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_ContextType",
+ table: "WorkflowInstances",
+ column: "ContextType");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_CorrelationId",
+ table: "WorkflowInstances",
+ column: "CorrelationId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_CreatedAt",
+ table: "WorkflowInstances",
+ column: "CreatedAt");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_DefinitionId",
+ table: "WorkflowInstances",
+ column: "DefinitionId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_FaultedAt",
+ table: "WorkflowInstances",
+ column: "FaultedAt");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_FinishedAt",
+ table: "WorkflowInstances",
+ column: "FinishedAt");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_LastExecutedAt",
+ table: "WorkflowInstances",
+ column: "LastExecutedAt");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_Name",
+ table: "WorkflowInstances",
+ column: "Name");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_TenantId",
+ table: "WorkflowInstances",
+ column: "TenantId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_WorkflowStatus",
+ table: "WorkflowInstances",
+ column: "WorkflowStatus");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowInstance_WorkflowStatus_DefinitionId_Version",
+ table: "WorkflowInstances",
+ columns: new[] { "WorkflowStatus", "DefinitionId", "Version" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowDefinition_DefinitionId_VersionId",
+ table: "WorkflowDefinitions",
+ columns: new[] { "DefinitionId", "Version" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowDefinition_IsLatest",
+ table: "WorkflowDefinitions",
+ column: "IsLatest");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowDefinition_IsPublished",
+ table: "WorkflowDefinitions",
+ column: "IsPublished");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowDefinition_Name",
+ table: "WorkflowDefinitions",
+ column: "Name");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowDefinition_TenantId",
+ table: "WorkflowDefinitions",
+ column: "TenantId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_WorkflowDefinition_Version",
+ table: "WorkflowDefinitions",
+ column: "Version");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Bookmark_ActivityId",
+ table: "Bookmarks",
+ column: "ActivityId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Bookmark_ActivityType",
+ table: "Bookmarks",
+ column: "ActivityType");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Bookmark_ActivityType_TenantId_Hash",
+ table: "Bookmarks",
+ columns: new[] { "ActivityType", "TenantId", "Hash" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Bookmark_Hash",
+ table: "Bookmarks",
+ column: "Hash");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Bookmark_TenantId",
+ table: "Bookmarks",
+ column: "TenantId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Bookmark_WorkflowInstanceId",
+ table: "Bookmarks",
+ column: "WorkflowInstanceId");
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_ContextId",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_ContextType",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_CorrelationId",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_CreatedAt",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_DefinitionId",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_FaultedAt",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_FinishedAt",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_LastExecutedAt",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_Name",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_TenantId",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_WorkflowStatus",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowInstance_WorkflowStatus_DefinitionId_Version",
+ table: "WorkflowInstances");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowDefinition_DefinitionId_VersionId",
+ table: "WorkflowDefinitions");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowDefinition_IsLatest",
+ table: "WorkflowDefinitions");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowDefinition_IsPublished",
+ table: "WorkflowDefinitions");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowDefinition_Name",
+ table: "WorkflowDefinitions");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowDefinition_TenantId",
+ table: "WorkflowDefinitions");
+
+ migrationBuilder.DropIndex(
+ name: "IX_WorkflowDefinition_Version",
+ table: "WorkflowDefinitions");
+
+ migrationBuilder.DropIndex(
+ name: "IX_Bookmark_ActivityId",
+ table: "Bookmarks");
+
+ migrationBuilder.DropIndex(
+ name: "IX_Bookmark_ActivityType",
+ table: "Bookmarks");
+
+ migrationBuilder.DropIndex(
+ name: "IX_Bookmark_ActivityType_TenantId_Hash",
+ table: "Bookmarks");
+
+ migrationBuilder.DropIndex(
+ name: "IX_Bookmark_Hash",
+ table: "Bookmarks");
+
+ migrationBuilder.DropIndex(
+ name: "IX_Bookmark_TenantId",
+ table: "Bookmarks");
+
+ migrationBuilder.DropIndex(
+ name: "IX_Bookmark_WorkflowInstanceId",
+ table: "Bookmarks");
+
+ migrationBuilder.AlterColumn(
+ name: "TenantId",
+ table: "WorkflowInstances",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Name",
+ table: "WorkflowInstances",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "DefinitionId",
+ table: "WorkflowInstances",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)");
+
+ migrationBuilder.AlterColumn(
+ name: "CorrelationId",
+ table: "WorkflowInstances",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "ContextType",
+ table: "WorkflowInstances",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "ContextId",
+ table: "WorkflowInstances",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "TenantId",
+ table: "WorkflowDefinitions",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Name",
+ table: "WorkflowDefinitions",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "DefinitionId",
+ table: "WorkflowDefinitions",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)");
+
+ migrationBuilder.AlterColumn(
+ name: "WorkflowInstanceId",
+ table: "Bookmarks",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)");
+
+ migrationBuilder.AlterColumn(
+ name: "TenantId",
+ table: "Bookmarks",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Hash",
+ table: "Bookmarks",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)");
+
+ migrationBuilder.AlterColumn(
+ name: "ActivityType",
+ table: "Bookmarks",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)");
+
+ migrationBuilder.AlterColumn(
+ name: "ActivityId",
+ table: "Bookmarks",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(450)");
+ }
+ }
+}
diff --git a/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/ElsaContextModelSnapshot.cs b/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/ElsaContextModelSnapshot.cs
index b32944759..d6b666eb8 100644
--- a/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/ElsaContextModelSnapshot.cs
+++ b/src/persistence/Elsa.Persistence.EntityFramework/Elsa.Persistence.EntityFramework.SqlServer/Migrations/ElsaContextModelSnapshot.cs
@@ -26,15 +26,15 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
b.Property("ActivityId")
.IsRequired()
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("ActivityType")
.IsRequired()
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("Hash")
.IsRequired()
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("Model")
.IsRequired()
@@ -45,14 +45,32 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
.HasColumnType("nvarchar(max)");
b.Property("TenantId")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("WorkflowInstanceId")
.IsRequired()
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.HasKey("Id");
+ b.HasIndex("ActivityId")
+ .HasDatabaseName("IX_Bookmark_ActivityId");
+
+ b.HasIndex("ActivityType")
+ .HasDatabaseName("IX_Bookmark_ActivityType");
+
+ b.HasIndex("Hash")
+ .HasDatabaseName("IX_Bookmark_Hash");
+
+ b.HasIndex("TenantId")
+ .HasDatabaseName("IX_Bookmark_TenantId");
+
+ b.HasIndex("WorkflowInstanceId")
+ .HasDatabaseName("IX_Bookmark_WorkflowInstanceId");
+
+ b.HasIndex("ActivityType", "TenantId", "Hash")
+ .HasDatabaseName("IX_Bookmark_ActivityType_TenantId_Hash");
+
b.ToTable("Bookmarks");
});
@@ -66,7 +84,7 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
b.Property("DefinitionId")
.IsRequired()
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("DeleteCompletedInstances")
.HasColumnType("bit");
@@ -87,19 +105,37 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
.HasColumnType("bit");
b.Property("Name")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("PersistenceBehavior")
.HasColumnType("int");
b.Property("TenantId")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("Version")
.HasColumnType("int");
b.HasKey("Id");
+ b.HasIndex("IsLatest")
+ .HasDatabaseName("IX_WorkflowDefinition_IsLatest");
+
+ b.HasIndex("IsPublished")
+ .HasDatabaseName("IX_WorkflowDefinition_IsPublished");
+
+ b.HasIndex("Name")
+ .HasDatabaseName("IX_WorkflowDefinition_Name");
+
+ b.HasIndex("TenantId")
+ .HasDatabaseName("IX_WorkflowDefinition_TenantId");
+
+ b.HasIndex("Version")
+ .HasDatabaseName("IX_WorkflowDefinition_Version");
+
+ b.HasIndex("DefinitionId", "Version")
+ .HasDatabaseName("IX_WorkflowDefinition_DefinitionId_VersionId");
+
b.ToTable("WorkflowDefinitions");
});
@@ -149,13 +185,13 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
.HasColumnType("datetimeoffset");
b.Property("ContextId")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("ContextType")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("CorrelationId")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("CreatedAt")
.HasColumnType("datetimeoffset");
@@ -165,7 +201,7 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
b.Property("DefinitionId")
.IsRequired()
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("FaultedAt")
.HasColumnType("datetimeoffset");
@@ -177,10 +213,10 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
.HasColumnType("datetimeoffset");
b.Property("Name")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("TenantId")
- .HasColumnType("nvarchar(max)");
+ .HasColumnType("nvarchar(450)");
b.Property("Version")
.HasColumnType("int");
@@ -190,6 +226,42 @@ namespace Elsa.Persistence.EntityFramework.SqlServer.Migrations
b.HasKey("Id");
+ b.HasIndex("ContextId")
+ .HasDatabaseName("IX_WorkflowInstance_ContextId");
+
+ b.HasIndex("ContextType")
+ .HasDatabaseName("IX_WorkflowInstance_ContextType");
+
+ b.HasIndex("CorrelationId")
+ .HasDatabaseName("IX_WorkflowInstance_CorrelationId");
+
+ b.HasIndex("CreatedAt")
+ .HasDatabaseName("IX_WorkflowInstance_CreatedAt");
+
+ b.HasIndex("DefinitionId")
+ .HasDatabaseName("IX_WorkflowInstance_DefinitionId");
+
+ b.HasIndex("FaultedAt")
+ .HasDatabaseName("IX_WorkflowInstance_FaultedAt");
+
+ b.HasIndex("FinishedAt")
+ .HasDatabaseName("IX_WorkflowInstance_FinishedAt");
+
+ b.HasIndex("LastExecutedAt")
+ .HasDatabaseName("IX_WorkflowInstance_LastExecutedAt");
+
+ b.HasIndex("Name")
+ .HasDatabaseName("IX_WorkflowInstance_Name");
+
+ b.HasIndex("TenantId")
+ .HasDatabaseName("IX_WorkflowInstance_TenantId");
+
+ b.HasIndex("WorkflowStatus")
+ .HasDatabaseName("IX_WorkflowInstance_WorkflowStatus");
+
+ b.HasIndex("WorkflowStatus", "DefinitionId", "Version")
+ .HasDatabaseName("IX_WorkflowInstance_WorkflowStatus_DefinitionId_Version");
+
b.ToTable("WorkflowInstances");
});
#pragma warning restore 612, 618