Skip to content

Commit 58b5d77

Browse files
committed
Merge remote-tracking branch 'origin/release/3.6.0'
2 parents fddfcfc + 7d32d95 commit 58b5d77

File tree

19 files changed

+596
-76
lines changed

19 files changed

+596
-76
lines changed

doc/changelogs/3.6.0.md

Lines changed: 275 additions & 0 deletions
Large diffs are not rendered by default.

src/modules/Elsa.Persistence.EFCore.MySql/Migrations/Runtime/20251204150235_V3_6.Designer.cs

Lines changed: 2 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/modules/Elsa.Persistence.EFCore.MySql/Migrations/Runtime/20251204150235_V3_6.cs

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,50 @@ protected override void Up(MigrationBuilder migrationBuilder)
3535
table: "Triggers",
3636
columns: new[] { "WorkflowDefinitionId", "Hash", "ActivityId", "TenantId" },
3737
unique: true);
38+
39+
var schemaFilter = _schema.Schema != null ? $"'{_schema.Schema}'" : "DATABASE()";
40+
41+
migrationBuilder.Sql($@"
42+
SET @exist := (SELECT COUNT(*) FROM information_schema.statistics
43+
WHERE table_schema = {schemaFilter} AND table_name = 'WorkflowExecutionLogRecords'
44+
AND index_name = 'IX_WorkflowExecutionLogRecord_ActivityNodeId');
45+
SET @sqlstmt := IF(@exist > 0, 'DROP INDEX `IX_WorkflowExecutionLogRecord_ActivityNodeId` ON `WorkflowExecutionLogRecords`', 'SELECT 1');
46+
PREPARE stmt FROM @sqlstmt;
47+
EXECUTE stmt;
48+
DEALLOCATE PREPARE stmt;
49+
");
50+
51+
migrationBuilder.Sql($@"
52+
SET @exist := (SELECT COUNT(*) FROM information_schema.statistics
53+
WHERE table_schema = {schemaFilter} AND table_name = 'ActivityExecutionRecords'
54+
AND index_name = 'IX_ActivityExecutionRecord_ActivityNodeId');
55+
SET @sqlstmt := IF(@exist > 0, 'DROP INDEX `IX_ActivityExecutionRecord_ActivityNodeId` ON `ActivityExecutionRecords`', 'SELECT 1');
56+
PREPARE stmt FROM @sqlstmt;
57+
EXECUTE stmt;
58+
DEALLOCATE PREPARE stmt;
59+
");
60+
61+
migrationBuilder.AlterColumn<string>(
62+
name: "ActivityNodeId",
63+
schema: _schema.Schema,
64+
table: "WorkflowExecutionLogRecords",
65+
type: "longtext",
66+
nullable: false,
67+
oldClrType: typeof(string),
68+
oldType: "varchar(255)")
69+
.Annotation("MySql:CharSet", "utf8mb4")
70+
.OldAnnotation("MySql:CharSet", "utf8mb4");
71+
72+
migrationBuilder.AlterColumn<string>(
73+
name: "ActivityNodeId",
74+
schema: _schema.Schema,
75+
table: "ActivityExecutionRecords",
76+
type: "longtext",
77+
nullable: false,
78+
oldClrType: typeof(string),
79+
oldType: "varchar(255)")
80+
.Annotation("MySql:CharSet", "utf8mb4")
81+
.OldAnnotation("MySql:CharSet", "utf8mb4");
3882
}
3983

4084
/// <inheritdoc />
@@ -55,6 +99,40 @@ protected override void Down(MigrationBuilder migrationBuilder)
5599
oldType: "varchar(255)")
56100
.Annotation("MySql:CharSet", "utf8mb4")
57101
.OldAnnotation("MySql:CharSet", "utf8mb4");
102+
103+
migrationBuilder.AlterColumn<string>(
104+
name: "ActivityNodeId",
105+
schema: _schema.Schema,
106+
table: "WorkflowExecutionLogRecords",
107+
type: "varchar(255)",
108+
nullable: false,
109+
oldClrType: typeof(string),
110+
oldType: "longtext")
111+
.Annotation("MySql:CharSet", "utf8mb4")
112+
.OldAnnotation("MySql:CharSet", "utf8mb4");
113+
114+
migrationBuilder.AlterColumn<string>(
115+
name: "ActivityNodeId",
116+
schema: _schema.Schema,
117+
table: "ActivityExecutionRecords",
118+
type: "varchar(255)",
119+
nullable: false,
120+
oldClrType: typeof(string),
121+
oldType: "longtext")
122+
.Annotation("MySql:CharSet", "utf8mb4")
123+
.OldAnnotation("MySql:CharSet", "utf8mb4");
124+
125+
migrationBuilder.CreateIndex(
126+
name: "IX_WorkflowExecutionLogRecord_ActivityNodeId",
127+
schema: _schema.Schema,
128+
table: "WorkflowExecutionLogRecords",
129+
column: "ActivityNodeId");
130+
131+
migrationBuilder.CreateIndex(
132+
name: "IX_ActivityExecutionRecord_ActivityNodeId",
133+
schema: _schema.Schema,
134+
table: "ActivityExecutionRecords",
135+
column: "ActivityNodeId");
58136
}
59137
}
60138
}

src/modules/Elsa.Persistence.EFCore.MySql/Migrations/Runtime/RuntimeElsaDbContextModelSnapshot.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
5656

5757
b.Property<string>("ActivityNodeId")
5858
.IsRequired()
59-
.HasColumnType("varchar(255)");
59+
.HasColumnType("longtext");
6060

6161
b.Property<string>("ActivityType")
6262
.IsRequired()
@@ -129,9 +129,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
129129
b.HasIndex("ActivityName")
130130
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityName");
131131

132-
b.HasIndex("ActivityNodeId")
133-
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityNodeId");
134-
135132
b.HasIndex("ActivityType")
136133
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityType");
137134

@@ -351,7 +348,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
351348

352349
b.Property<string>("ActivityNodeId")
353350
.IsRequired()
354-
.HasColumnType("varchar(255)");
351+
.HasColumnType("longtext");
355352

356353
b.Property<string>("ActivityType")
357354
.IsRequired()
@@ -413,9 +410,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
413410
b.HasIndex("ActivityName")
414411
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityName");
415412

416-
b.HasIndex("ActivityNodeId")
417-
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityNodeId");
418-
419413
b.HasIndex("ActivityType")
420414
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityType");
421415

src/modules/Elsa.Persistence.EFCore.Oracle/Migrations/Runtime/20251204150355_V3_6.Designer.cs

Lines changed: 2 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/modules/Elsa.Persistence.EFCore.Oracle/Migrations/Runtime/20251204150355_V3_6.cs

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,43 @@ protected override void Up(MigrationBuilder migrationBuilder)
2525
columns: new[] { "WorkflowDefinitionId", "Hash", "ActivityId", "TenantId" },
2626
unique: true,
2727
filter: "\"Hash\" IS NOT NULL");
28+
29+
// ORA-01418: specified index does not exist
30+
migrationBuilder.Sql(@"
31+
BEGIN
32+
EXECUTE IMMEDIATE 'DROP INDEX ""IX_WorkflowExecutionLogRecord_ActivityNodeId""';
33+
EXCEPTION
34+
WHEN OTHERS THEN
35+
IF SQLCODE != -1418 THEN RAISE; END IF;
36+
END;
37+
");
38+
39+
migrationBuilder.Sql(@"
40+
BEGIN
41+
EXECUTE IMMEDIATE 'DROP INDEX ""IX_ActivityExecutionRecord_ActivityNodeId""';
42+
EXCEPTION
43+
WHEN OTHERS THEN
44+
IF SQLCODE != -1418 THEN RAISE; END IF;
45+
END;
46+
");
47+
48+
migrationBuilder.AlterColumn<string>(
49+
name: "ActivityNodeId",
50+
schema: _schema.Schema,
51+
table: "WorkflowExecutionLogRecords",
52+
type: "NCLOB",
53+
nullable: false,
54+
oldClrType: typeof(string),
55+
oldType: "NVARCHAR2(450)");
56+
57+
migrationBuilder.AlterColumn<string>(
58+
name: "ActivityNodeId",
59+
schema: _schema.Schema,
60+
table: "ActivityExecutionRecords",
61+
type: "NCLOB",
62+
nullable: false,
63+
oldClrType: typeof(string),
64+
oldType: "NVARCHAR2(450)");
2865
}
2966

3067
/// <inheritdoc />
@@ -34,6 +71,36 @@ protected override void Down(MigrationBuilder migrationBuilder)
3471
name: "IX_StoredTrigger_Unique_WorkflowDefinitionId_Hash_ActivityId_TenantId",
3572
schema: _schema.Schema,
3673
table: "Triggers");
74+
75+
migrationBuilder.AlterColumn<string>(
76+
name: "ActivityNodeId",
77+
schema: _schema.Schema,
78+
table: "WorkflowExecutionLogRecords",
79+
type: "NVARCHAR2(450)",
80+
nullable: false,
81+
oldClrType: typeof(string),
82+
oldType: "NCLOB");
83+
84+
migrationBuilder.AlterColumn<string>(
85+
name: "ActivityNodeId",
86+
schema: _schema.Schema,
87+
table: "ActivityExecutionRecords",
88+
type: "NVARCHAR2(450)",
89+
nullable: false,
90+
oldClrType: typeof(string),
91+
oldType: "NCLOB");
92+
93+
migrationBuilder.CreateIndex(
94+
name: "IX_WorkflowExecutionLogRecord_ActivityNodeId",
95+
schema: _schema.Schema,
96+
table: "WorkflowExecutionLogRecords",
97+
column: "ActivityNodeId");
98+
99+
migrationBuilder.CreateIndex(
100+
name: "IX_ActivityExecutionRecord_ActivityNodeId",
101+
schema: _schema.Schema,
102+
table: "ActivityExecutionRecords",
103+
column: "ActivityNodeId");
37104
}
38105
}
39106
}

src/modules/Elsa.Persistence.EFCore.Oracle/Migrations/Runtime/RuntimeElsaDbContextModelSnapshot.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
5656

5757
b.Property<string>("ActivityNodeId")
5858
.IsRequired()
59-
.HasColumnType("NVARCHAR2(450)");
59+
.HasColumnType("NCLOB");
6060

6161
b.Property<string>("ActivityType")
6262
.IsRequired()
@@ -129,9 +129,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
129129
b.HasIndex("ActivityName")
130130
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityName");
131131

132-
b.HasIndex("ActivityNodeId")
133-
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityNodeId");
134-
135132
b.HasIndex("ActivityType")
136133
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityType");
137134

@@ -352,7 +349,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
352349

353350
b.Property<string>("ActivityNodeId")
354351
.IsRequired()
355-
.HasColumnType("NVARCHAR2(450)");
352+
.HasColumnType("NCLOB");
356353

357354
b.Property<string>("ActivityType")
358355
.IsRequired()
@@ -414,9 +411,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
414411
b.HasIndex("ActivityName")
415412
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityName");
416413

417-
b.HasIndex("ActivityNodeId")
418-
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityNodeId");
419-
420414
b.HasIndex("ActivityType")
421415
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityType");
422416

src/modules/Elsa.Persistence.EFCore.PostgreSql/Migrations/Runtime/20251204150341_V3_6.Designer.cs

Lines changed: 0 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/modules/Elsa.Persistence.EFCore.PostgreSql/Migrations/Runtime/20251204150341_V3_6.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ protected override void Up(MigrationBuilder migrationBuilder)
2424
table: "Triggers",
2525
columns: new[] { "WorkflowDefinitionId", "Hash", "ActivityId", "TenantId" },
2626
unique: true);
27+
28+
var schemaPrefix = _schema.Schema != null ? $"\"{_schema.Schema}\"." : "";
29+
migrationBuilder.Sql($"DROP INDEX IF EXISTS {schemaPrefix}\"IX_WorkflowExecutionLogRecord_ActivityNodeId\"");
30+
migrationBuilder.Sql($"DROP INDEX IF EXISTS {schemaPrefix}\"IX_ActivityExecutionRecord_ActivityNodeId\"");
2731
}
2832

2933
/// <inheritdoc />
@@ -33,6 +37,18 @@ protected override void Down(MigrationBuilder migrationBuilder)
3337
name: "IX_StoredTrigger_Unique_WorkflowDefinitionId_Hash_ActivityId_TenantId",
3438
schema: _schema.Schema,
3539
table: "Triggers");
40+
41+
migrationBuilder.CreateIndex(
42+
name: "IX_WorkflowExecutionLogRecord_ActivityNodeId",
43+
schema: _schema.Schema,
44+
table: "WorkflowExecutionLogRecords",
45+
column: "ActivityNodeId");
46+
47+
migrationBuilder.CreateIndex(
48+
name: "IX_ActivityExecutionRecord_ActivityNodeId",
49+
schema: _schema.Schema,
50+
table: "ActivityExecutionRecords",
51+
column: "ActivityNodeId");
3652
}
3753
}
3854
}

src/modules/Elsa.Persistence.EFCore.PostgreSql/Migrations/Runtime/RuntimeElsaDbContextModelSnapshot.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
129129
b.HasIndex("ActivityName")
130130
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityName");
131131

132-
b.HasIndex("ActivityNodeId")
133-
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityNodeId");
134-
135132
b.HasIndex("ActivityType")
136133
.HasDatabaseName("IX_ActivityExecutionRecord_ActivityType");
137134

@@ -413,9 +410,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
413410
b.HasIndex("ActivityName")
414411
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityName");
415412

416-
b.HasIndex("ActivityNodeId")
417-
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityNodeId");
418-
419413
b.HasIndex("ActivityType")
420414
.HasDatabaseName("IX_WorkflowExecutionLogRecord_ActivityType");
421415

0 commit comments

Comments
 (0)