Browse Source

optimize elsa

pull/721/head
cKey 3 years ago
parent
commit
47e835ade9
  1. 2
      aspnet-core/Directory.Build.props
  2. 11
      aspnet-core/LINGYUN.MicroService.Workflow.sln
  3. 2
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities/LINGYUN/Abp/Elsa/Activities/AbpElsaActivitiesModule.cs
  4. 0
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/FodyWeavers.xml
  5. 19
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql.csproj
  6. 29
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/AbpElsaEntityFrameworkCoreMySqlModule.cs
  7. 16
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/PersistenceStartup.cs
  8. 18
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/WebhooksStartup.cs
  9. 18
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/WorkflowSettingsStartup.cs
  10. 3
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/FodyWeavers.xml
  11. 0
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN.Abp.Elsa.EntityFrameworkCore.csproj
  12. 6
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/AbpElsaEntityFrameworkCoreModule.cs
  13. 37
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/PersistenceStartupBase.cs
  14. 41
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/WebhooksStartupBase.cs
  15. 43
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/WorkflowSettingsStartupBase.cs
  16. 5
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/LY.MicroService.WorkflowManagement.HttpApi.Host.csproj
  17. 7
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Pages/_Host.cshtml
  18. 4
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Properties/launchSettings.json
  19. 12
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs
  20. 2
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs
  21. 4
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/appsettings.Development.json
  22. 313
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/create-migrations-initial.sql

2
aspnet-core/Directory.Build.props

@ -5,7 +5,7 @@
<DaprPackageVersion>1.8.0</DaprPackageVersion> <DaprPackageVersion>1.8.0</DaprPackageVersion>
<DistributedLockRedisPackageVersion>1.0.2</DistributedLockRedisPackageVersion> <DistributedLockRedisPackageVersion>1.0.2</DistributedLockRedisPackageVersion>
<DotNetCoreCAPPackageVersion>6.2.0</DotNetCoreCAPPackageVersion> <DotNetCoreCAPPackageVersion>6.2.0</DotNetCoreCAPPackageVersion>
<ElsaPackageVersion>2.8.2</ElsaPackageVersion> <ElsaPackageVersion>2.9.0</ElsaPackageVersion>
<AliyunSDKPackageVersion>1.5.10</AliyunSDKPackageVersion> <AliyunSDKPackageVersion>1.5.10</AliyunSDKPackageVersion>
<AliyunOSSSDKPackageVersion>2.13.0</AliyunOSSSDKPackageVersion> <AliyunOSSSDKPackageVersion>2.13.0</AliyunOSSSDKPackageVersion>
<TencentCloudSDKPackageVersion>3.0.434</TencentCloudSDKPackageVersion> <TencentCloudSDKPackageVersion>3.0.434</TencentCloudSDKPackageVersion>

11
aspnet-core/LINGYUN.MicroService.Workflow.sln

@ -55,7 +55,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa", "modules
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.Server", "modules\elsa\LINGYUN.Abp.Elsa.Server\LINGYUN.Abp.Elsa.Server.csproj", "{88AA0D46-597E-4969-8382-A3F8054B9409}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.Server", "modules\elsa\LINGYUN.Abp.Elsa.Server\LINGYUN.Abp.Elsa.Server.csproj", "{88AA0D46-597E-4969-8382-A3F8054B9409}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.EntityFramework.Core", "modules\elsa\LINGYUN.Abp.Elsa.EntityFramework.Core\LINGYUN.Abp.Elsa.EntityFramework.Core.csproj", "{CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.EntityFrameworkCore", "modules\elsa\LINGYUN.Abp.Elsa.EntityFrameworkCore\LINGYUN.Abp.Elsa.EntityFrameworkCore.csproj", "{CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.Activities.BlobStoring", "modules\elsa\LINGYUN.Abp.Elsa.Activities.BlobStoring\LINGYUN.Abp.Elsa.Activities.BlobStoring.csproj", "{81CB5141-4FC5-413A-A516-CD65F40465C0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.Activities.BlobStoring", "modules\elsa\LINGYUN.Abp.Elsa.Activities.BlobStoring\LINGYUN.Abp.Elsa.Activities.BlobStoring.csproj", "{81CB5141-4FC5-413A-A516-CD65F40465C0}"
EndProject EndProject
@ -79,7 +79,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.Activities
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Notifications.Core", "modules\common\LINGYUN.Abp.Notifications.Core\LINGYUN.Abp.Notifications.Core.csproj", "{CE1B9AD0-7CDA-4459-86A3-A3162C1095D9}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Notifications.Core", "modules\common\LINGYUN.Abp.Notifications.Core\LINGYUN.Abp.Notifications.Core.csproj", "{CE1B9AD0-7CDA-4459-86A3-A3162C1095D9}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa.Activities.Webhooks", "modules\elsa\LINGYUN.Abp.Elsa.Activities.Webhooks\LINGYUN.Abp.Elsa.Activities.Webhooks.csproj", "{2CA34976-4A80-485C-8572-6004829BB727}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.Activities.Webhooks", "modules\elsa\LINGYUN.Abp.Elsa.Activities.Webhooks\LINGYUN.Abp.Elsa.Activities.Webhooks.csproj", "{2CA34976-4A80-485C-8572-6004829BB727}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Webhooks.Core", "modules\webhooks\LINGYUN.Abp.Webhooks.Core\LINGYUN.Abp.Webhooks.Core.csproj", "{44E4EBFA-6F25-4FD7-A4B3-536C3A42677C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Webhooks.Core", "modules\webhooks\LINGYUN.Abp.Webhooks.Core\LINGYUN.Abp.Webhooks.Core.csproj", "{44E4EBFA-6F25-4FD7-A4B3-536C3A42677C}"
EndProject EndProject
@ -87,6 +87,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Webhooks", "mod
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Webhooks.EventBus", "modules\webhooks\LINGYUN.Abp.Webhooks.EventBus\LINGYUN.Abp.Webhooks.EventBus.csproj", "{B6246B7A-4095-433A-B981-5D1E43CDF712}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Webhooks.EventBus", "modules\webhooks\LINGYUN.Abp.Webhooks.EventBus\LINGYUN.Abp.Webhooks.EventBus.csproj", "{B6246B7A-4095-433A-B981-5D1E43CDF712}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql", "modules\elsa\LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql\LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql.csproj", "{4B20572A-10E7-4414-943A-974F275677B4}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@ -229,6 +231,10 @@ Global
{B6246B7A-4095-433A-B981-5D1E43CDF712}.Debug|Any CPU.Build.0 = Debug|Any CPU {B6246B7A-4095-433A-B981-5D1E43CDF712}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6246B7A-4095-433A-B981-5D1E43CDF712}.Release|Any CPU.ActiveCfg = Release|Any CPU {B6246B7A-4095-433A-B981-5D1E43CDF712}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6246B7A-4095-433A-B981-5D1E43CDF712}.Release|Any CPU.Build.0 = Release|Any CPU {B6246B7A-4095-433A-B981-5D1E43CDF712}.Release|Any CPU.Build.0 = Release|Any CPU
{4B20572A-10E7-4414-943A-974F275677B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4B20572A-10E7-4414-943A-974F275677B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B20572A-10E7-4414-943A-974F275677B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B20572A-10E7-4414-943A-974F275677B4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -271,6 +277,7 @@ Global
{44E4EBFA-6F25-4FD7-A4B3-536C3A42677C} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A} {44E4EBFA-6F25-4FD7-A4B3-536C3A42677C} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A}
{6489B162-2B28-42B9-9AD4-EB5CCBB8AE85} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A} {6489B162-2B28-42B9-9AD4-EB5CCBB8AE85} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A}
{B6246B7A-4095-433A-B981-5D1E43CDF712} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A} {B6246B7A-4095-433A-B981-5D1E43CDF712} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A}
{4B20572A-10E7-4414-943A-974F275677B4} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6BB7A5DE-DA12-44DC-BC9B-0F6CA524346F} SolutionGuid = {6BB7A5DE-DA12-44DC-BC9B-0F6CA524346F}

2
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities/LINGYUN/Abp/Elsa/Activities/AbpElsaActivitiesModule.cs

@ -5,7 +5,6 @@ using LINGYUN.Abp.Elsa.Activities.Emailing;
using LINGYUN.Abp.Elsa.Activities.IM; using LINGYUN.Abp.Elsa.Activities.IM;
using LINGYUN.Abp.Elsa.Activities.Notifications; using LINGYUN.Abp.Elsa.Activities.Notifications;
using LINGYUN.Abp.Elsa.Activities.Sms; using LINGYUN.Abp.Elsa.Activities.Sms;
using LINGYUN.Abp.Elsa.Activities.Webhooks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
@ -23,7 +22,6 @@ public class AbpElsaActivitiesModule : AbpModule
public override void PreConfigureServices(ServiceConfigurationContext context) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
var configuration = context.Services.GetConfiguration(); var configuration = context.Services.GetConfiguration();
var elsaSection = configuration.GetSection("Elsa");
var startups = new[] var startups = new[]
{ {
typeof(Emailing.Startup), typeof(Emailing.Startup),

0
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/FodyWeavers.xml → aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/FodyWeavers.xml

19
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql.csproj

@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Elsa.Webhooks.Persistence.EntityFramework.MySql" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.WorkflowSettings.Persistence.EntityFramework.MySql" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.MySql" Version="$(VoloAbpPackageVersion)" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.Elsa.EntityFrameworkCore\LINGYUN.Abp.Elsa.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.Elsa\LINGYUN.Abp.Elsa.csproj" />
</ItemGroup>
</Project>

29
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/AbpElsaEntityFrameworkCoreMySqlModule.cs

@ -0,0 +1,29 @@
using Elsa;
using Elsa.Options;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore.MySQL;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql;
[DependsOn(
typeof(AbpElsaEntityFrameworkCoreModule),
typeof(AbpEntityFrameworkCoreMySQLModule))]
public class AbpElsaEntityFrameworkCoreMySqlModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var startups = new[]
{
typeof(PersistenceStartup),
typeof(WebhooksStartup),
typeof(WorkflowSettingsStartup),
};
PreConfigure<ElsaOptionsBuilder>(elsa =>
{
elsa.AddFeatures(startups, configuration);
});
}
}

16
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/PersistenceStartup.cs

@ -0,0 +1,16 @@
using Elsa.Attributes;
using Elsa.Persistence.EntityFramework.MySql;
using Microsoft.EntityFrameworkCore;
namespace LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql;
[Feature("DefaultPersistence:EntityFrameworkCore:MySql")]
public class PersistenceStartup : PersistenceStartupBase
{
protected override string ProviderName => "MySql";
protected override void Configure(DbContextOptionsBuilder options, string connectionString)
{
options.UseMySql(connectionString);
}
}

18
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/WebhooksStartup.cs

@ -0,0 +1,18 @@
using Elsa.Attributes;
using Microsoft.EntityFrameworkCore;
namespace LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql;
[Feature("Webhooks:EntityFrameworkCore:MySql")]
public class WebhooksStartup : WebhooksStartupBase
{
protected override string ProviderName => "MySql";
protected override void Configure(DbContextOptionsBuilder options, string connectionString)
{
options.UseMySql(
connectionString,
ServerVersion.AutoDetect(connectionString),
x => x.MigrationsHistoryTable("__EFMigrationsHistory_Webhooks"));
}
}

18
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql/LINGYUN/Abp/Elsa/EntityFrameworkCore/MySql/WorkflowSettingsStartup.cs

@ -0,0 +1,18 @@
using Elsa.Attributes;
using Microsoft.EntityFrameworkCore;
namespace LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql;
[Feature("WorkflowSettings:EntityFrameworkCore:MySql")]
public class WorkflowSettingsStartup : WorkflowSettingsStartupBase
{
protected override string ProviderName => "MySql";
protected override void Configure(DbContextOptionsBuilder options, string connectionString)
{
options.UseMySql(
connectionString,
ServerVersion.AutoDetect(connectionString),
x => x.MigrationsHistoryTable("__EFMigrationsHistory_WorkflowSettings"));
}
}

3
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/FodyWeavers.xml

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<ConfigureAwait ContinueOnCapturedContext="false" />
</Weavers>

0
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN.Abp.Elsa.EntityFramework.Core.csproj → aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN.Abp.Elsa.EntityFrameworkCore.csproj

6
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN/Abp/Elsa/EntityFramework.Core/AbpElsaEntityFrameworkCoreModule.cs → aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/AbpElsaEntityFrameworkCoreModule.cs

@ -1,15 +1,11 @@
using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace LINGYUN.Abp.Elsa.EntityFramework.Core; namespace LINGYUN.Abp.Elsa.EntityFrameworkCore;
[DependsOn( [DependsOn(
typeof(AbpElsaModule), typeof(AbpElsaModule),
typeof(AbpEntityFrameworkCoreModule))] typeof(AbpEntityFrameworkCoreModule))]
public class AbpElsaEntityFrameworkCoreModule : AbpModule public class AbpElsaEntityFrameworkCoreModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context)
{
}
} }

37
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/PersistenceStartupBase.cs

@ -0,0 +1,37 @@
using Elsa.Options;
using Elsa.Persistence.EntityFramework.Core;
using Elsa.Persistence.EntityFramework.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using System;
namespace LINGYUN.Abp.Elsa.EntityFrameworkCore;
public abstract class PersistenceStartupBase : EntityFrameworkCoreStartupBase
{
public override void ConfigureElsa(ElsaOptionsBuilder elsa, IConfiguration configuration)
{
var section = configuration.GetSection("Elsa:Features:DefaultPersistence");
var connectionStringName = section.GetValue<string>("ConnectionStringIdentifier");
var connectionString = section.GetValue<string>("ConnectionString");
if (connectionString.IsNullOrWhiteSpace())
{
if (connectionStringName.IsNullOrWhiteSpace())
{
connectionStringName = ProviderName;
}
connectionString = configuration.GetConnectionString(connectionStringName);
}
if (connectionString.IsNullOrWhiteSpace())
{
connectionString = GetDefaultConnectionString();
}
elsa.UseEntityFrameworkPersistence(options =>
{
Configure(options, connectionString);
}, autoRunMigrations: false);
}
}

41
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/WebhooksStartupBase.cs

@ -0,0 +1,41 @@
using Elsa.Activities.Webhooks;
using Elsa.Options;
using Elsa.Webhooks.Persistence.EntityFramework.Core;
using Elsa.Webhooks.Persistence.EntityFramework.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System;
namespace LINGYUN.Abp.Elsa.EntityFrameworkCore;
public abstract class WebhooksStartupBase : EntityFrameworkWebhookStartupBase
{
public override void ConfigureElsa(ElsaOptionsBuilder elsa, IConfiguration configuration)
{
var section = configuration.GetSection("Elsa:Features:Webhooks");
var connectionStringName = section.GetValue<string>("ConnectionStringIdentifier");
var connectionString = section.GetValue<string>("ConnectionString");
if (connectionStringName.IsNullOrWhiteSpace())
{
connectionStringName = ProviderName;
}
if (connectionString.IsNullOrWhiteSpace())
{
connectionString = configuration.GetConnectionString(connectionStringName);
}
if (connectionString.IsNullOrWhiteSpace())
{
connectionString = GetDefaultConnectionString();
}
var webhookOptionsBuilder = new WebhookOptionsBuilder(elsa.Services);
webhookOptionsBuilder.UseEntityFrameworkPersistence(options =>
{
Configure(options, connectionString);
}, autoRunMigrations: false);
elsa.Services.AddSingleton(webhookOptionsBuilder.WebhookOptions);
}
}

43
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFrameworkCore/LINGYUN/Abp/Elsa/EntityFrameworkCore/WorkflowSettingsStartupBase.cs

@ -0,0 +1,43 @@
using Elsa.Options;
using Elsa.WorkflowSettings;
using Elsa.WorkflowSettings.Extensions;
using Elsa.WorkflowSettings.Persistence.EntityFramework.Core;
using Elsa.WorkflowSettings.Persistence.EntityFramework.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System;
namespace LINGYUN.Abp.Elsa.EntityFrameworkCore;
public abstract class WorkflowSettingsStartupBase : EntityFrameworkWorkflowSettingsStartupBase
{
public override void ConfigureElsa(ElsaOptionsBuilder elsa, IConfiguration configuration)
{
var section = configuration.GetSection("Elsa:Features:WorkflowSettings");
var connectionStringName = section.GetValue<string>("ConnectionStringIdentifier");
var connectionString = section.GetValue<string>("ConnectionString");
if (connectionString.IsNullOrWhiteSpace())
{
if (connectionStringName.IsNullOrWhiteSpace())
{
connectionStringName = ProviderName;
}
connectionString = configuration.GetConnectionString(connectionStringName);
}
if (connectionString.IsNullOrWhiteSpace())
{
connectionString = GetDefaultConnectionString();
}
var workflowSettingsOptionsBuilder = new WorkflowSettingsOptionsBuilder(elsa.Services);
workflowSettingsOptionsBuilder.UseEntityFrameworkPersistence(options =>
{
Configure(options, connectionString);
}, autoRunMigrations: false);
elsa.Services.AddScoped((provider) => workflowSettingsOptionsBuilder.WorkflowSettingsOptions.WorkflowSettingsStoreFactory(provider));
elsa.AddWorkflowSettings();
}
}

5
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/LY.MicroService.WorkflowManagement.HttpApi.Host.csproj

@ -15,11 +15,9 @@
<PackageReference Include="Elsa.Activities.Http" Version="$(ElsaPackageVersion)" /> <PackageReference Include="Elsa.Activities.Http" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.Activities.UserTask" Version="$(ElsaPackageVersion)" /> <PackageReference Include="Elsa.Activities.UserTask" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.Activities.Temporal.Quartz" Version="$(ElsaPackageVersion)" /> <PackageReference Include="Elsa.Activities.Temporal.Quartz" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.Persistence.EntityFramework.MySql" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.Rebus.RabbitMq" Version="$(ElsaPackageVersion)" /> <PackageReference Include="Elsa.Rebus.RabbitMq" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.Webhooks.Persistence.EntityFramework.MySql" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.WorkflowSettings.Persistence.EntityFramework.MySql" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.Designer.Components.Web" Version="$(ElsaPackageVersion)" /> <PackageReference Include="Elsa.Designer.Components.Web" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Elsa.Webhooks.Api" Version="$(ElsaPackageVersion)" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="$(MicrosoftPackageVersion)"> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="$(MicrosoftPackageVersion)">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@ -54,6 +52,7 @@
<ProjectReference Include="..\..\modules\common\LINGYUN.Abp.Data.DbMigrator\LINGYUN.Abp.Data.DbMigrator.csproj" /> <ProjectReference Include="..\..\modules\common\LINGYUN.Abp.Data.DbMigrator\LINGYUN.Abp.Data.DbMigrator.csproj" />
<ProjectReference Include="..\..\modules\common\LINGYUN.Abp.ExceptionHandling.Emailing\LINGYUN.Abp.ExceptionHandling.Emailing.csproj" /> <ProjectReference Include="..\..\modules\common\LINGYUN.Abp.ExceptionHandling.Emailing\LINGYUN.Abp.ExceptionHandling.Emailing.csproj" />
<ProjectReference Include="..\..\modules\common\LINGYUN.Abp.Http.Client.Wrapper\LINGYUN.Abp.Http.Client.Wrapper.csproj" /> <ProjectReference Include="..\..\modules\common\LINGYUN.Abp.Http.Client.Wrapper\LINGYUN.Abp.Http.Client.Wrapper.csproj" />
<ProjectReference Include="..\..\modules\elsa\LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql\LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql.csproj" />
<ProjectReference Include="..\..\modules\mvc\LINGYUN.Abp.AspNetCore.Mvc.Wrapper\LINGYUN.Abp.AspNetCore.Mvc.Wrapper.csproj" /> <ProjectReference Include="..\..\modules\mvc\LINGYUN.Abp.AspNetCore.Mvc.Wrapper\LINGYUN.Abp.AspNetCore.Mvc.Wrapper.csproj" />
<ProjectReference Include="..\..\modules\elsa\LINGYUN.Abp.Elsa.Activities\LINGYUN.Abp.Elsa.Activities.csproj" /> <ProjectReference Include="..\..\modules\elsa\LINGYUN.Abp.Elsa.Activities\LINGYUN.Abp.Elsa.Activities.csproj" />
<ProjectReference Include="..\..\modules\elsa\LINGYUN.Abp.Elsa.Server\LINGYUN.Abp.Elsa.Server.csproj" /> <ProjectReference Include="..\..\modules\elsa\LINGYUN.Abp.Elsa.Server\LINGYUN.Abp.Elsa.Server.csproj" />

7
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Pages/_Host.cshtml

@ -24,7 +24,7 @@
<script type="module"> <script type="module">
// Import publicly exposed services. // Import publicly exposed services.
import { WebhooksPlugin } from "/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/index.esm.js"; import { WebhooksPlugin, WorkflowSettingsPlugin } from "/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/index.esm.js";
// Get a handle to the elsa-studio-root element. // Get a handle to the elsa-studio-root element.
const elsaStudioRoot = document.querySelector('elsa-studio-root'); const elsaStudioRoot = document.querySelector('elsa-studio-root');
@ -32,7 +32,10 @@
// Configure Elsa during the 'initializing' event. // Configure Elsa during the 'initializing' event.
elsaStudioRoot.addEventListener('initializing', e => { elsaStudioRoot.addEventListener('initializing', e => {
const elsa = e.detail; const elsa = e.detail;
elsa.pluginManager.registerPlugin(WebhooksPlugin); elsa.pluginManager.registerPlugins([
WebhooksPlugin,
WorkflowSettingsPlugin
]);
}); });
</script> </script>

4
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Properties/launchSettings.json

@ -11,11 +11,11 @@
"LINGYUN.Abp.WorkflowManagement.HttpApi.Host": { "LINGYUN.Abp.WorkflowManagement.HttpApi.Host": {
"commandName": "Project", "commandName": "Project",
"launchBrowser": false, "launchBrowser": false,
"dotnetRunMessages": true,
"environmentVariables": { "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development" "ASPNETCORE_ENVIRONMENT": "Development"
}, },
"applicationUrl": "http://127.0.0.1:30035", "applicationUrl": "http://127.0.0.1:30035"
"dotnetRunMessages": "true"
} }
} }
} }

12
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs

@ -127,11 +127,8 @@ public partial class WorkflowManagementHttpApiHostModule
typeof(Elsa.Activities.UserTask.Startup), typeof(Elsa.Activities.UserTask.Startup),
typeof(Elsa.Activities.Temporal.Quartz.Startup), typeof(Elsa.Activities.Temporal.Quartz.Startup),
typeof(Elsa.Activities.Email.Startup), typeof(Elsa.Activities.Email.Startup),
typeof(Elsa.Persistence.EntityFramework.MySql.Startup),
typeof(Elsa.Scripting.JavaScript.Startup), typeof(Elsa.Scripting.JavaScript.Startup),
typeof(Elsa.Activities.Webhooks.Startup), typeof(Elsa.Activities.Webhooks.Startup),
typeof(Elsa.Webhooks.Persistence.EntityFramework.MySql.Startup),
typeof(Elsa.WorkflowSettings.Persistence.EntityFramework.MySql.Startup),
}; };
PreConfigure<ElsaOptionsBuilder>(elsa => PreConfigure<ElsaOptionsBuilder>(elsa =>
@ -153,6 +150,11 @@ public partial class WorkflowManagementHttpApiHostModule
}); });
services.AddNotificationHandlersFrom<WorkflowManagementHttpApiHostModule>(); services.AddNotificationHandlersFrom<WorkflowManagementHttpApiHostModule>();
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(Elsa.Webhooks.Api.Endpoints.List).Assembly);
});
} }
private void ConfigureEndpoints() private void ConfigureEndpoints()
@ -378,6 +380,10 @@ public partial class WorkflowManagementHttpApiHostModule
options.Audience = configuration["AuthServer:ApiName"]; options.Audience = configuration["AuthServer:ApiName"];
}); });
//services.AddElsaJwtBearerAuthentication(options =>
//{
//});
if (isDevelopment) if (isDevelopment)
{ {
services.AddAlwaysAllowAuthorization(); services.AddAlwaysAllowAuthorization();

2
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs

@ -11,6 +11,7 @@ using LINGYUN.Abp.BlobStoring.OssManagement;
using LINGYUN.Abp.Data.DbMigrator; using LINGYUN.Abp.Data.DbMigrator;
using LINGYUN.Abp.Elsa; using LINGYUN.Abp.Elsa;
using LINGYUN.Abp.Elsa.Activities; using LINGYUN.Abp.Elsa.Activities;
using LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql;
using LINGYUN.Abp.EventBus.CAP; using LINGYUN.Abp.EventBus.CAP;
using LINGYUN.Abp.ExceptionHandling.Emailing; using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.Http.Client.Wrapper; using LINGYUN.Abp.Http.Client.Wrapper;
@ -65,6 +66,7 @@ namespace LY.MicroService.WorkflowManagement;
typeof(AbpSaasEntityFrameworkCoreModule), typeof(AbpSaasEntityFrameworkCoreModule),
typeof(AbpLocalizationManagementEntityFrameworkCoreModule), typeof(AbpLocalizationManagementEntityFrameworkCoreModule),
typeof(AbpEntityFrameworkCoreMySQLModule), typeof(AbpEntityFrameworkCoreMySQLModule),
typeof(AbpElsaEntityFrameworkCoreMySqlModule),
typeof(AbpAuthorizationOrganizationUnitsModule), typeof(AbpAuthorizationOrganizationUnitsModule),
typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(AbpAspNetCoreAuthenticationJwtBearerModule),
typeof(AbpTextTemplatingScribanModule), typeof(AbpTextTemplatingScribanModule),

4
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/appsettings.Development.json

@ -1,6 +1,6 @@
{ {
"AgileConfig": { "AgileConfig": {
"IsEnabled": true, "IsEnabled": false,
"env": "DEV", "env": "DEV",
"appId": "LINGYUN.Abp.Workflow", "appId": "LINGYUN.Abp.Workflow",
"secret": "1q2w3E*", "secret": "1q2w3E*",
@ -51,6 +51,7 @@
"Elsa": { "Elsa": {
"Features": { "Features": {
"DefaultPersistence": { "DefaultPersistence": {
"Enabled": true,
"ConnectionStringIdentifier": "Workflow", "ConnectionStringIdentifier": "Workflow",
"EntityFrameworkCore": { "EntityFrameworkCore": {
"MySql": { "MySql": {
@ -155,6 +156,7 @@
"AuthServer": { "AuthServer": {
"Authority": "http://127.0.0.1:44385/", "Authority": "http://127.0.0.1:44385/",
"ApiName": "lingyun-abp-application", "ApiName": "lingyun-abp-application",
"ElsaClientId": "InternalServiceClient",
"SwaggerClientId": "InternalServiceClient", "SwaggerClientId": "InternalServiceClient",
"SwaggerClientSecret": "1q2w3E*" "SwaggerClientSecret": "1q2w3E*"
}, },

313
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/create-migrations-initial.sql

@ -0,0 +1,313 @@
-- basic script
CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` (
`MigrationId` varchar(150) CHARACTER SET utf8mb4 NOT NULL,
`ProductVersion` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK___EFMigrationsHistory` PRIMARY KEY (`MigrationId`)
) CHARACTER SET utf8mb4;
START TRANSACTION;
ALTER DATABASE CHARACTER SET utf8mb4;
CREATE TABLE `Bookmarks` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Hash` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Model` longtext CHARACTER SET utf8mb4 NOT NULL,
`ModelType` longtext CHARACTER SET utf8mb4 NOT NULL,
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`CorrelationId` varchar(255) CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_Bookmarks` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowDefinitions` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`DefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 NULL,
`DisplayName` longtext CHARACTER SET utf8mb4 NULL,
`Description` longtext CHARACTER SET utf8mb4 NULL,
`Version` int NOT NULL,
`IsSingleton` tinyint(1) NOT NULL,
`PersistenceBehavior` int NOT NULL,
`DeleteCompletedInstances` tinyint(1) NOT NULL,
`IsPublished` tinyint(1) NOT NULL,
`IsLatest` tinyint(1) NOT NULL,
`Tag` varchar(255) CHARACTER SET utf8mb4 NULL,
`Data` longtext CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowDefinitions` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowExecutionLogRecords` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Timestamp` datetime(6) NOT NULL,
`EventName` longtext CHARACTER SET utf8mb4 NULL,
`Message` longtext CHARACTER SET utf8mb4 NULL,
`Source` longtext CHARACTER SET utf8mb4 NULL,
`Data` longtext CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowExecutionLogRecords` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowInstances` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`DefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Version` int NOT NULL,
`WorkflowStatus` int NOT NULL,
`CorrelationId` varchar(255) CHARACTER SET utf8mb4 NULL,
`ContextType` varchar(255) CHARACTER SET utf8mb4 NULL,
`ContextId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 NULL,
`CreatedAt` datetime(6) NOT NULL,
`LastExecutedAt` datetime(6) NULL,
`FinishedAt` datetime(6) NULL,
`CancelledAt` datetime(6) NULL,
`FaultedAt` datetime(6) NULL,
`Data` longtext CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowInstances` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_Bookmark_ActivityId` ON `Bookmarks` (`ActivityId`);
CREATE INDEX `IX_Bookmark_ActivityType` ON `Bookmarks` (`ActivityType`);
CREATE INDEX `IX_Bookmark_ActivityType_TenantId_Hash` ON `Bookmarks` (`ActivityType`, `TenantId`, `Hash`);
CREATE INDEX `IX_Bookmark_CorrelationId` ON `Bookmarks` (`CorrelationId`);
CREATE INDEX `IX_Bookmark_Hash` ON `Bookmarks` (`Hash`);
CREATE INDEX `IX_Bookmark_Hash_CorrelationId_TenantId` ON `Bookmarks` (`Hash`, `CorrelationId`, `TenantId`);
CREATE INDEX `IX_Bookmark_TenantId` ON `Bookmarks` (`TenantId`);
CREATE INDEX `IX_Bookmark_WorkflowInstanceId` ON `Bookmarks` (`WorkflowInstanceId`);
CREATE UNIQUE INDEX `IX_WorkflowDefinition_DefinitionId_VersionId` ON `WorkflowDefinitions` (`DefinitionId`, `Version`);
CREATE INDEX `IX_WorkflowDefinition_IsLatest` ON `WorkflowDefinitions` (`IsLatest`);
CREATE INDEX `IX_WorkflowDefinition_IsPublished` ON `WorkflowDefinitions` (`IsPublished`);
CREATE INDEX `IX_WorkflowDefinition_Name` ON `WorkflowDefinitions` (`Name`);
CREATE INDEX `IX_WorkflowDefinition_Tag` ON `WorkflowDefinitions` (`Tag`);
CREATE INDEX `IX_WorkflowDefinition_TenantId` ON `WorkflowDefinitions` (`TenantId`);
CREATE INDEX `IX_WorkflowDefinition_Version` ON `WorkflowDefinitions` (`Version`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityId` ON `WorkflowExecutionLogRecords` (`ActivityId`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityType` ON `WorkflowExecutionLogRecords` (`ActivityType`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_TenantId` ON `WorkflowExecutionLogRecords` (`TenantId`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_Timestamp` ON `WorkflowExecutionLogRecords` (`Timestamp`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_WorkflowInstanceId` ON `WorkflowExecutionLogRecords` (`WorkflowInstanceId`);
CREATE INDEX `IX_WorkflowInstance_ContextId` ON `WorkflowInstances` (`ContextId`);
CREATE INDEX `IX_WorkflowInstance_ContextType` ON `WorkflowInstances` (`ContextType`);
CREATE INDEX `IX_WorkflowInstance_CorrelationId` ON `WorkflowInstances` (`CorrelationId`);
CREATE INDEX `IX_WorkflowInstance_CreatedAt` ON `WorkflowInstances` (`CreatedAt`);
CREATE INDEX `IX_WorkflowInstance_DefinitionId` ON `WorkflowInstances` (`DefinitionId`);
CREATE INDEX `IX_WorkflowInstance_FaultedAt` ON `WorkflowInstances` (`FaultedAt`);
CREATE INDEX `IX_WorkflowInstance_FinishedAt` ON `WorkflowInstances` (`FinishedAt`);
CREATE INDEX `IX_WorkflowInstance_LastExecutedAt` ON `WorkflowInstances` (`LastExecutedAt`);
CREATE INDEX `IX_WorkflowInstance_Name` ON `WorkflowInstances` (`Name`);
CREATE INDEX `IX_WorkflowInstance_TenantId` ON `WorkflowInstances` (`TenantId`);
CREATE INDEX `IX_WorkflowInstance_WorkflowStatus` ON `WorkflowInstances` (`WorkflowStatus`);
CREATE INDEX `IX_WorkflowInstance_WorkflowStatus_DefinitionId` ON `WorkflowInstances` (`WorkflowStatus`, `DefinitionId`);
CREATE INDEX `IX_WorkflowInstance_WorkflowStatus_DefinitionId_Version` ON `WorkflowInstances` (`WorkflowStatus`, `DefinitionId`, `Version`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210523093427_Initial', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowInstances` MODIFY COLUMN `CorrelationId` varchar(255) CHARACTER SET utf8mb4 NOT NULL DEFAULT '';
ALTER TABLE `WorkflowInstances` ADD `LastExecutedActivityId` longtext CHARACTER SET utf8mb4 NULL;
ALTER TABLE `WorkflowDefinitions` ADD `OutputStorageProviderName` longtext CHARACTER SET utf8mb4 NULL;
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210611200027_Update21', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowDefinitions` DROP COLUMN `OutputStorageProviderName`;
ALTER TABLE `WorkflowInstances` RENAME `WorkflowInstances`;
ALTER TABLE `WorkflowExecutionLogRecords` RENAME `WorkflowExecutionLogRecords`;
ALTER TABLE `WorkflowDefinitions` RENAME `WorkflowDefinitions`;
ALTER TABLE `Bookmarks` RENAME `Bookmarks`;
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210923112211_Update23', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowInstances` ADD `DefinitionVersionId` longtext CHARACTER SET utf8mb4 NOT NULL;
ALTER TABLE `Bookmarks` MODIFY COLUMN `CorrelationId` varchar(255) CHARACTER SET utf8mb4 NOT NULL DEFAULT '';
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20211215100204_Update24', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowInstances` MODIFY COLUMN `DefinitionVersionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL;
CREATE INDEX `IX_WorkflowInstance_DefinitionVersionId` ON `WorkflowInstances` (`DefinitionVersionId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20220120170050_Update241', '5.0.10');
COMMIT;
START TRANSACTION;
CREATE TABLE `Triggers` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Hash` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Model` longtext CHARACTER SET utf8mb4 NOT NULL,
`ModelType` longtext CHARACTER SET utf8mb4 NOT NULL,
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`WorkflowDefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK_Triggers` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_Trigger_ActivityId` ON `Triggers` (`ActivityId`);
CREATE INDEX `IX_Trigger_ActivityType` ON `Triggers` (`ActivityType`);
CREATE INDEX `IX_Trigger_ActivityType_TenantId_Hash` ON `Triggers` (`ActivityType`, `TenantId`, `Hash`);
CREATE INDEX `IX_Trigger_Hash` ON `Triggers` (`Hash`);
CREATE INDEX `IX_Trigger_Hash_TenantId` ON `Triggers` (`Hash`, `TenantId`);
CREATE INDEX `IX_Trigger_TenantId` ON `Triggers` (`TenantId`);
CREATE INDEX `IX_Trigger_WorkflowDefinitionId` ON `Triggers` (`WorkflowDefinitionId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20220120204150_Update25', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowDefinitions` ADD `CreatedAt` datetime(6) NOT NULL DEFAULT '0001-01-01 00:00:00';
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20220512203646_Update28', '5.0.10');
COMMIT;
-- webhooks
CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` (
`MigrationId` varchar(150) CHARACTER SET utf8mb4 NOT NULL,
`ProductVersion` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK___EFMigrationsHistory` PRIMARY KEY (`MigrationId`)
) CHARACTER SET utf8mb4;
START TRANSACTION;
ALTER DATABASE CHARACTER SET utf8mb4;
CREATE TABLE `WebhookDefinitions` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Path` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Description` varchar(255) CHARACTER SET utf8mb4 NULL,
`PayloadTypeName` varchar(255) CHARACTER SET utf8mb4 NULL,
`IsEnabled` tinyint(1) NOT NULL,
CONSTRAINT `PK_WebhookDefinitions` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_WebhookDefinition_Description` ON `WebhookDefinitions` (`Description`);
CREATE INDEX `IX_WebhookDefinition_IsEnabled` ON `WebhookDefinitions` (`IsEnabled`);
CREATE INDEX `IX_WebhookDefinition_Name` ON `WebhookDefinitions` (`Name`);
CREATE INDEX `IX_WebhookDefinition_Path` ON `WebhookDefinitions` (`Path`);
CREATE INDEX `IX_WebhookDefinition_PayloadTypeName` ON `WebhookDefinitions` (`PayloadTypeName`);
CREATE INDEX `IX_WebhookDefinition_TenantId` ON `WebhookDefinitions` (`TenantId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210604065041_Initial', '5.0.10');
COMMIT;
-- workflow-settings
CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` (
`MigrationId` varchar(150) CHARACTER SET utf8mb4 NOT NULL,
`ProductVersion` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK___EFMigrationsHistory` PRIMARY KEY (`MigrationId`)
) CHARACTER SET utf8mb4;
START TRANSACTION;
ALTER DATABASE CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowSettings` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`WorkflowBlueprintId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Key` varchar(255) CHARACTER SET utf8mb4 NULL,
`Value` varchar(255) CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowSettings` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_WorkflowSetting_Key` ON `WorkflowSettings` (`Key`);
CREATE INDEX `IX_WorkflowSetting_Value` ON `WorkflowSettings` (`Value`);
CREATE INDEX `IX_WorkflowSetting_WorkflowBlueprintId` ON `WorkflowSettings` (`WorkflowBlueprintId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210730112043_Initial', '5.0.10');
COMMIT;
Loading…
Cancel
Save