Add new docker-compose files, new activities and services
Create new docker-compose files for non-data dog and data dog services. New services include Postgres, cockroachdb, rabbitmq, redis, and elsa-server. Along with the services, a new bash script for migration and various new activities and endpoints are also added for the Elsa server. This set of changes broadens the operational environment of Elsa.
This commit is contained in:
parent
a720688bfd
commit
83dd776233
|
|
@ -1,168 +1,173 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
<CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="Antlr4.Runtime.Standard" Version="4.13.1" />
|
||||
<PackageVersion Include="AutoMapper" Version="12.0.1" />
|
||||
<PackageVersion Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
|
||||
<PackageVersion Include="Azure.Identity" Version="1.10.4" />
|
||||
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.17.0" />
|
||||
<PackageVersion Include="Azure.ResourceManager" Version="1.9.0" />
|
||||
<PackageVersion Include="Azure.ResourceManager.AppContainers" Version="1.1.0" />
|
||||
<PackageVersion Include="Azure.ResourceManager.Resources" Version="1.7.0" />
|
||||
<PackageVersion Include="Azure.ResourceManager.ServiceBus" Version="1.0.0" />
|
||||
<PackageVersion Include="Bogus" Version="35.4.0" />
|
||||
<PackageVersion Include="ConfigureAwait.Fody" Version="3.3.2" />
|
||||
<PackageVersion Include="coverlet.collector" Version="6.0.0" />
|
||||
<PackageVersion Include="Cronos" Version="0.7.1" />
|
||||
<PackageVersion Include="Dapper" Version="2.1.24" />
|
||||
<PackageVersion Include="DistributedLock.FileSystem" Version="1.0.1" />
|
||||
<PackageVersion Include="Elastic.Clients.Elasticsearch" Version="8.11.0" />
|
||||
<PackageVersion Include="Elsa.Studio" Version="3.0.4" />
|
||||
<PackageVersion Include="Elsa.Studio.Core.BlazorWasm" Version="3.0.4" />
|
||||
<PackageVersion Include="Elsa.Studio.Login.BlazorWasm" Version="3.0.4" />
|
||||
<PackageVersion Include="FastEndpoints" Version="5.21.2" />
|
||||
<PackageVersion Include="FastEndpoints.Security" Version="5.21.2" />
|
||||
<PackageVersion Include="FastEndpoints.Swagger" Version="5.21.2" />
|
||||
<PackageVersion Include="FluentMigrator" Version="3.3.2" />
|
||||
<PackageVersion Include="FluentMigrator.Runner" Version="3.3.2" />
|
||||
<PackageVersion Include="FluentStorage" Version="5.4.1" />
|
||||
<PackageVersion Include="FluentStorage.Azure.Blobs" Version="5.2.2" />
|
||||
<PackageVersion Include="Fluid.Core" Version="2.5.0" />
|
||||
<PackageVersion Include="Fody" Version="6.8.0" />
|
||||
<PackageVersion Include="GitHubActionsTestLogger" Version="2.3.3" />
|
||||
<PackageVersion Include="Google.Protobuf" Version="3.25.1" />
|
||||
<PackageVersion Include="Grpc.Tools" Version="2.59.0" />
|
||||
<PackageVersion Include="Hangfire" Version="1.8.6" />
|
||||
<PackageVersion Include="Hangfire.MemoryStorage" Version="1.8.0" />
|
||||
<PackageVersion Include="Hangfire.Storage.SQLite" Version="0.3.4" />
|
||||
<PackageVersion Include="Humanizer.Core" Version="2.14.1" />
|
||||
<PackageVersion Include="IronCompress" Version="1.5.1" />
|
||||
<PackageVersion Include="JetBrains.Annotations" Version="2023.3.0" />
|
||||
<PackageVersion Include="Jint" Version="3.0.0" />
|
||||
<PackageVersion Include="LinqKit.Core" Version="1.2.5" />
|
||||
<PackageVersion Include="MailKit" Version="4.3.0" />
|
||||
<PackageVersion Include="MassTransit" Version="8.1.2" />
|
||||
<PackageVersion Include="MassTransit.Azure.ServiceBus.Core" Version="8.1.2" />
|
||||
<PackageVersion Include="MassTransit.Extensions.DependencyInjection" Version="7.3.1" />
|
||||
<PackageVersion Include="MassTransit.RabbitMQ" Version="8.1.2" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Routing" Version="2.2.2" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.8.0" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite.Design" Version="1.1.6" />
|
||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
|
||||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
|
||||
<PackageVersion Include="MongoDB.Driver" Version="2.22.0" />
|
||||
<PackageVersion Include="MongoDB.Driver.Core.Extensions.DiagnosticSources" Version="1.3.0" />
|
||||
<PackageVersion Include="MongoDB.Driver.Extensions" Version="2.0.2" />
|
||||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageVersion Include="NSubstitute" Version="5.1.0" />
|
||||
<PackageVersion Include="NuGet.Packaging" Version="6.8.0" />
|
||||
<PackageVersion Include="NuGet.Protocol" Version="6.8.0" />
|
||||
<PackageVersion Include="Nuke.Components" Version="8.0.0" />
|
||||
<PackageVersion Include="Open.Linq.AsyncExtensions" Version="1.2.0" />
|
||||
<PackageVersion Include="Polly.Extensions.Http" Version="3.0.0" />
|
||||
<PackageVersion Include="Proto.Actor" Version="1.5.0" />
|
||||
<PackageVersion Include="Proto.Cluster" Version="1.5.0" />
|
||||
<PackageVersion Include="Proto.Cluster.CodeGen" Version="1.5.0" />
|
||||
<PackageVersion Include="Proto.Cluster.TestProvider" Version="1.5.0" />
|
||||
<PackageVersion Include="Proto.Persistence" Version="1.5.0" />
|
||||
<PackageVersion Include="Proto.Persistence.Sqlite" Version="1.5.0" />
|
||||
<PackageVersion Include="Proto.Persistence.SqlServer" Version="1.5.0" />
|
||||
<PackageVersion Include="Proto.Remote" Version="1.5.0" />
|
||||
<PackageVersion Include="pythonnet" Version="3.0.3" />
|
||||
<PackageVersion Include="Quartz" Version="3.8.0" />
|
||||
<PackageVersion Include="Quartz.Extensions.DependencyInjection" Version="3.8.0" />
|
||||
<PackageVersion Include="Quartz.Extensions.Hosting" Version="3.8.0" />
|
||||
<PackageVersion Include="Quartz.Serialization.Json" Version="3.8.0" />
|
||||
<PackageVersion Include="Refit" Version="7.0.0" />
|
||||
<PackageVersion Include="Refit.HttpClientFactory" Version="7.0.0" />
|
||||
<PackageVersion Include="ShortGuid" Version="2.0.1" />
|
||||
<PackageVersion Include="StackExchange.Redis" Version="2.7.4" />
|
||||
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
|
||||
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
|
||||
<PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
|
||||
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
|
||||
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.3.8" />
|
||||
<PackageVersion Include="Testcontainers" Version="3.6.0" />
|
||||
<PackageVersion Include="Testcontainers.Redis" Version="3.6.0" />
|
||||
<PackageVersion Include="ThrottleDebounce" Version="2.0.0" />
|
||||
<PackageVersion Include="xunit" Version="2.6.2" />
|
||||
<PackageVersion Include="xunit.abstractions" Version="2.0.3" />
|
||||
<PackageVersion Include="xunit.extensibility.core" Version="2.6.2" />
|
||||
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.4" />
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations" Version="0.5.0" />
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.MySql" Version="0.5.0" />
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.PostgreSQL" Version="0.5.0" />
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.SQLite" Version="0.5.0" />
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.SqlServer" Version="0.5.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0' or '$(TargetFramework)' == 'net7.0'">
|
||||
<PackageVersion Include="AspNetCore.Authentication.ApiKey" Version="7.0.0" />
|
||||
<PackageVersion Include="EFCore.BulkExtensions.MIT" Version="7.16.0" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite.Core" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="7.0.14" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Options" Version="7.0.1" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" />
|
||||
<PackageVersion Include="Npgsql" Version="7.0.6" />
|
||||
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.11" />
|
||||
<PackageVersion Include="Polly" Version="7.2.4" />
|
||||
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0" />
|
||||
<PackageVersion Include="System.Text.Json" Version="7.0.4" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||
<PackageVersion Include="AspNetCore.Authentication.ApiKey" Version="8.0.0" />
|
||||
<PackageVersion Include="EFCore.BulkExtensions.MIT" Version="8.16.0" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite.Core" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" />
|
||||
<PackageVersion Include="Npgsql" Version="8.0.0" />
|
||||
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.0" />
|
||||
<PackageVersion Include="Polly" Version="8.2.0" />
|
||||
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.0" />
|
||||
<PackageVersion Include="System.Text.Json" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
<CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="Antlr4.Runtime.Standard" Version="4.13.1"/>
|
||||
<PackageVersion Include="AutoMapper" Version="12.0.1"/>
|
||||
<PackageVersion Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1"/>
|
||||
<PackageVersion Include="Azure.Identity" Version="1.10.4"/>
|
||||
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.17.0"/>
|
||||
<PackageVersion Include="Azure.ResourceManager" Version="1.9.0"/>
|
||||
<PackageVersion Include="Azure.ResourceManager.AppContainers" Version="1.1.0"/>
|
||||
<PackageVersion Include="Azure.ResourceManager.Resources" Version="1.7.0"/>
|
||||
<PackageVersion Include="Azure.ResourceManager.ServiceBus" Version="1.0.0"/>
|
||||
<PackageVersion Include="Bogus" Version="35.4.0"/>
|
||||
<PackageVersion Include="ConfigureAwait.Fody" Version="3.3.2"/>
|
||||
<PackageVersion Include="coverlet.collector" Version="6.0.0"/>
|
||||
<PackageVersion Include="Cronos" Version="0.7.1"/>
|
||||
<PackageVersion Include="Dapper" Version="2.1.24"/>
|
||||
<PackageVersion Include="Datadog.Trace" Version="2.49.0"/>
|
||||
<PackageVersion Include="DistributedLock.Core" Version="1.0.5"/>
|
||||
<PackageVersion Include="DistributedLock.FileSystem" Version="1.0.1"/>
|
||||
<PackageVersion Include="DistributedLock.Postgres" Version="1.0.5"/>
|
||||
<PackageVersion Include="DistributedLock.Redis" Version="1.0.2"/>
|
||||
<PackageVersion Include="Elastic.Clients.Elasticsearch" Version="8.11.0"/>
|
||||
<PackageVersion Include="Elsa.Studio" Version="3.0.4"/>
|
||||
<PackageVersion Include="Elsa.Studio.Core.BlazorWasm" Version="3.0.4"/>
|
||||
<PackageVersion Include="Elsa.Studio.Login.BlazorWasm" Version="3.0.4"/>
|
||||
<PackageVersion Include="FastEndpoints" Version="5.21.2"/>
|
||||
<PackageVersion Include="FastEndpoints.Security" Version="5.21.2"/>
|
||||
<PackageVersion Include="FastEndpoints.Swagger" Version="5.21.2"/>
|
||||
<PackageVersion Include="FluentMigrator" Version="3.3.2"/>
|
||||
<PackageVersion Include="FluentMigrator.Runner" Version="3.3.2"/>
|
||||
<PackageVersion Include="FluentStorage" Version="5.4.1"/>
|
||||
<PackageVersion Include="FluentStorage.Azure.Blobs" Version="5.2.2"/>
|
||||
<PackageVersion Include="Fluid.Core" Version="2.5.0"/>
|
||||
<PackageVersion Include="Fody" Version="6.8.0"/>
|
||||
<PackageVersion Include="GitHubActionsTestLogger" Version="2.3.3"/>
|
||||
<PackageVersion Include="Google.Protobuf" Version="3.25.1"/>
|
||||
<PackageVersion Include="Grpc.Tools" Version="2.59.0"/>
|
||||
<PackageVersion Include="Hangfire" Version="1.8.6"/>
|
||||
<PackageVersion Include="Hangfire.MemoryStorage" Version="1.8.0"/>
|
||||
<PackageVersion Include="Hangfire.Storage.SQLite" Version="0.3.4"/>
|
||||
<PackageVersion Include="Humanizer.Core" Version="2.14.1"/>
|
||||
<PackageVersion Include="IronCompress" Version="1.5.1"/>
|
||||
<PackageVersion Include="JetBrains.Annotations" Version="2023.3.0"/>
|
||||
<PackageVersion Include="Jint" Version="3.0.0"/>
|
||||
<PackageVersion Include="LinqKit.Core" Version="1.2.5"/>
|
||||
<PackageVersion Include="MailKit" Version="4.3.0"/>
|
||||
<PackageVersion Include="MassTransit" Version="8.1.2"/>
|
||||
<PackageVersion Include="MassTransit.Azure.ServiceBus.Core" Version="8.1.2"/>
|
||||
<PackageVersion Include="MassTransit.Extensions.DependencyInjection" Version="7.3.1"/>
|
||||
<PackageVersion Include="MassTransit.RabbitMQ" Version="8.1.2"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Http" Version="2.2.2"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Routing" Version="2.2.2"/>
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.8.0"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite.Design" Version="1.1.6"/>
|
||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/>
|
||||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0"/>
|
||||
<PackageVersion Include="MongoDB.Driver" Version="2.22.0"/>
|
||||
<PackageVersion Include="MongoDB.Driver.Core.Extensions.DiagnosticSources" Version="1.3.0"/>
|
||||
<PackageVersion Include="MongoDB.Driver.Extensions" Version="2.0.2"/>
|
||||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3"/>
|
||||
<PackageVersion Include="NSubstitute" Version="5.1.0"/>
|
||||
<PackageVersion Include="NuGet.Packaging" Version="6.8.0"/>
|
||||
<PackageVersion Include="NuGet.Protocol" Version="6.8.0"/>
|
||||
<PackageVersion Include="Nuke.Components" Version="8.0.0"/>
|
||||
<PackageVersion Include="Open.Linq.AsyncExtensions" Version="1.2.0"/>
|
||||
<PackageVersion Include="Polly.Extensions.Http" Version="3.0.0"/>
|
||||
<PackageVersion Include="Proto.Actor" Version="1.5.0"/>
|
||||
<PackageVersion Include="Proto.Cluster" Version="1.5.0"/>
|
||||
<PackageVersion Include="Proto.Cluster.CodeGen" Version="1.5.0"/>
|
||||
<PackageVersion Include="Proto.Cluster.TestProvider" Version="1.5.0"/>
|
||||
<PackageVersion Include="Proto.Persistence" Version="1.5.0"/>
|
||||
<PackageVersion Include="Proto.Persistence.Sqlite" Version="1.5.0"/>
|
||||
<PackageVersion Include="Proto.Persistence.SqlServer" Version="1.5.0"/>
|
||||
<PackageVersion Include="Proto.Remote" Version="1.5.0"/>
|
||||
<PackageVersion Include="pythonnet" Version="3.0.3"/>
|
||||
<PackageVersion Include="Quartz" Version="3.8.0"/>
|
||||
<PackageVersion Include="Quartz.Extensions.DependencyInjection" Version="3.8.0"/>
|
||||
<PackageVersion Include="Quartz.Extensions.Hosting" Version="3.8.0"/>
|
||||
<PackageVersion Include="Quartz.Serialization.Json" Version="3.8.0"/>
|
||||
<PackageVersion Include="Refit" Version="7.0.0"/>
|
||||
<PackageVersion Include="Refit.HttpClientFactory" Version="7.0.0"/>
|
||||
<PackageVersion Include="ShortGuid" Version="2.0.1"/>
|
||||
<PackageVersion Include="StackExchange.Redis" Version="2.7.4"/>
|
||||
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1"/>
|
||||
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0"/>
|
||||
<PackageVersion Include="System.Data.SqlClient" Version="4.8.6"/>
|
||||
<PackageVersion Include="System.Linq.Async" Version="6.0.1"/>
|
||||
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.3.8"/>
|
||||
<PackageVersion Include="Testcontainers" Version="3.6.0"/>
|
||||
<PackageVersion Include="Testcontainers.Redis" Version="3.6.0"/>
|
||||
<PackageVersion Include="ThrottleDebounce" Version="2.0.0"/>
|
||||
<PackageVersion Include="xunit" Version="2.6.2"/>
|
||||
<PackageVersion Include="xunit.abstractions" Version="2.0.3"/>
|
||||
<PackageVersion Include="xunit.extensibility.core" Version="2.6.2"/>
|
||||
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.4"/>
|
||||
<PackageVersion Include="Yarp.ReverseProxy" Version="2.1.0"/>
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations" Version="0.5.0"/>
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.MySql" Version="0.5.0"/>
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.PostgreSQL" Version="0.5.0"/>
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.SQLite" Version="0.5.0"/>
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.SqlServer" Version="0.5.0"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0' or '$(TargetFramework)' == 'net7.0'">
|
||||
<PackageVersion Include="AspNetCore.Authentication.ApiKey" Version="7.0.0"/>
|
||||
<PackageVersion Include="EFCore.BulkExtensions.MIT" Version="7.16.0"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite.Core" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="7.0.14"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Options" Version="7.0.1"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0"/>
|
||||
<PackageVersion Include="Npgsql" Version="7.0.6"/>
|
||||
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.11"/>
|
||||
<PackageVersion Include="Polly" Version="7.2.4"/>
|
||||
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0"/>
|
||||
<PackageVersion Include="System.Text.Json" Version="7.0.4"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||
<PackageVersion Include="AspNetCore.Authentication.ApiKey" Version="8.0.0"/>
|
||||
<PackageVersion Include="EFCore.BulkExtensions.MIT" Version="8.16.0"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite.Core" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.0"/>
|
||||
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0"/>
|
||||
<PackageVersion Include="Npgsql" Version="8.0.0"/>
|
||||
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.0"/>
|
||||
<PackageVersion Include="Polly" Version="8.2.0"/>
|
||||
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.0"/>
|
||||
<PackageVersion Include="System.Text.Json" Version="8.0.0"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
11
Elsa.sln
11
Elsa.sln
|
|
@ -126,6 +126,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{986E54
|
|||
docker\ElsaServer.Dockerfile = docker\ElsaServer.Dockerfile
|
||||
docker\ElsaServerAndStudio.Dockerfile = docker\ElsaServerAndStudio.Dockerfile
|
||||
docker\ElsaStudio.Dockerfile = docker\ElsaStudio.Dockerfile
|
||||
docker\docker-compose.yml = docker\docker-compose.yml
|
||||
docker\docker-compose-datadog.yml = docker\docker-compose-datadog.yml
|
||||
docker\ElsaServer-Datadog.Dockerfile = docker\ElsaServer-Datadog.Dockerfile
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.RunTaskIntegration", "samples\aspnet\Elsa.Samples.AspNet.RunTaskIntegration\Elsa.Samples.AspNet.RunTaskIntegration.csproj", "{51050209-EC2F-4DC7-8F46-07E22B7811CD}"
|
||||
|
|
@ -312,6 +315,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "migrations", "migrations",
|
|||
ProjectSection(SolutionItems) = preProject
|
||||
migrations\efcore-3.1.sh = migrations\efcore-3.1.sh
|
||||
migrations\efcore-3.0.sh = migrations\efcore-3.0.sh
|
||||
migrations\efcore-3.1-sql.sh = migrations\efcore-3.1-sql.sh
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Alterations.IntegrationTests", "test\integration\Elsa.Alterations.IntegrationTests\Elsa.Alterations.IntegrationTests.csproj", "{F50336DA-42D1-4DD1-A107-67AFEB8A33EE}"
|
||||
|
|
@ -324,6 +328,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.KeyValues", "src\modul
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Workflows.Runtime.UnitTests", "test\unit\Elsa.Workflows.Runtime.UnitTests\Elsa.Workflows.Runtime.UnitTests.csproj", "{B0946844-DE0E-4C59-9391-C0EB649DBF4E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Server.LoadBalancer", "src\bundles\Elsa.Server.LoadBalancer\Elsa.Server.LoadBalancer.csproj", "{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -792,6 +798,10 @@ Global
|
|||
{B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
@ -932,6 +942,7 @@ Global
|
|||
{73BBB1E3-AEEC-44E8-83D7-6DD9CD687FE3} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79}
|
||||
{086A7E2A-6CE7-41DA-927B-C033638060B1} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
|
||||
{B0946844-DE0E-4C59-9391-C0EB649DBF4E} = {18453B51-25EB-4317-A4B3-B10518252E92}
|
||||
{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1} = {F06B9573-DF68-4606-866C-A7546A10A05A}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {D4B5CEAA-7D70-4FCB-A68E-B03FBE5E0E5E}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ services:
|
|||
- "8600:8600"
|
||||
- "8600:8600/udp"
|
||||
command: "agent -server -bootstrap-expect 3 -ui -client 0.0.0.0"
|
||||
|
||||
|
||||
sqlserver:
|
||||
image: "mcr.microsoft.com/mssql/server:2019-latest"
|
||||
ports:
|
||||
|
|
@ -38,18 +38,18 @@ services:
|
|||
ACCEPT_EULA: "Y"
|
||||
volumes:
|
||||
- c:\data\docker\sqlserver2019:/var/opt/mssql/data
|
||||
|
||||
|
||||
postgres:
|
||||
image: postgres:13.3-alpine
|
||||
container_name: elsa3-postgres
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgrespw
|
||||
POSTGRES_DB: postgres
|
||||
POSTGRES_USER: elsa
|
||||
POSTGRES_PASSWORD: elsa
|
||||
POSTGRES_DB: elsa
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
- pgdata-3:/var/lib/postgresql/data
|
||||
|
||||
mongodb:
|
||||
image: mongo:latest
|
||||
|
|
@ -57,7 +57,7 @@ services:
|
|||
- "127.0.0.1:27017:27017"
|
||||
volumes:
|
||||
- mongodb_data:/data/db
|
||||
|
||||
|
||||
mysql:
|
||||
image: arm64v8/mysql
|
||||
restart: always
|
||||
|
|
@ -75,13 +75,13 @@ services:
|
|||
image: redis:latest
|
||||
ports:
|
||||
- "127.0.0.1:6379:6379"
|
||||
|
||||
|
||||
rabbitmq:
|
||||
image: "rabbitmq:3-management"
|
||||
ports:
|
||||
- "15672:15672"
|
||||
- "5672:5672"
|
||||
|
||||
|
||||
elasticsearch:
|
||||
image: "docker.elastic.co/elasticsearch/elasticsearch:8.5.0"
|
||||
environment:
|
||||
|
|
@ -110,18 +110,18 @@ services:
|
|||
- "5601:5601"
|
||||
depends_on:
|
||||
- elasticsearch
|
||||
|
||||
|
||||
smtp4dev:
|
||||
image: rnwood/smtp4dev:3.1.3-ci20211206101
|
||||
ports:
|
||||
- "4000:80"
|
||||
- "2525:25"
|
||||
|
||||
|
||||
networks:
|
||||
consul:
|
||||
|
||||
volumes:
|
||||
mongodb_data:
|
||||
pgdata:
|
||||
pgdata-3:
|
||||
elasticsearch-data:
|
||||
driver: local
|
||||
58
docker/ElsaServer-Datadog.Dockerfile
Normal file
58
docker/ElsaServer-Datadog.Dockerfile
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# Version: 1
|
||||
# Description: Dockerfile for building and running Elsa Server
|
||||
|
||||
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim AS build
|
||||
WORKDIR /source
|
||||
|
||||
# Determine the architecture and download the appropriate version of the tracer
|
||||
RUN ARCH=$(if [ "$(uname -m)" = "x86_64" ]; then echo "amd64"; elif [ "$(uname -m)" = "aarch64" ]; then echo "arm64"; else echo "amd64"; fi) \
|
||||
&& TRACER_VERSION=$(curl -s https://api.github.com/repos/DataDog/dd-trace-dotnet/releases/latest | grep tag_name | cut -d '"' -f 4 | cut -c2-) \
|
||||
&& curl -Lo /tmp/datadog-dotnet-apm.deb https://github.com/DataDog/dd-trace-dotnet/releases/download/v${TRACER_VERSION}/datadog-dotnet-apm_${TRACER_VERSION}_${ARCH}.deb
|
||||
|
||||
# copy sources.
|
||||
COPY src/. ./src
|
||||
COPY ./NuGet.Config ./
|
||||
COPY *.props ./
|
||||
|
||||
# restore packages.
|
||||
RUN dotnet restore "./src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj"
|
||||
|
||||
# build and publish (UseAppHost=false creates platform independent binaries).
|
||||
WORKDIR /source/src/bundles/Elsa.Server.Web
|
||||
RUN dotnet build "Elsa.Server.Web.csproj" -c Release -o /app/build
|
||||
RUN dotnet publish "Elsa.Server.Web.csproj" -c Release -o /app/publish /p:UseAppHost=false --no-restore -f net8.0
|
||||
|
||||
# move binaries into smaller base image.
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:8.0-bookworm-slim AS base
|
||||
WORKDIR /app
|
||||
COPY --from=build /app/publish ./
|
||||
|
||||
# Install Python 3.11
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
python3.11 \
|
||||
python3.11-dev \
|
||||
libpython3.11 \
|
||||
python3-pip && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Set PYTHONNET_PYDLL environment variable
|
||||
ENV PYTHONNET_PYDLL /usr/lib/aarch64-linux-gnu/libpython3.11.so
|
||||
|
||||
# Copy the tracer from build target
|
||||
COPY --from=build /tmp/datadog-dotnet-apm.deb /tmp/datadog-dotnet-apm.deb
|
||||
# Install the tracer
|
||||
RUN mkdir -p /opt/datadog \
|
||||
&& mkdir -p /var/log/datadog \
|
||||
&& dpkg -i /tmp/datadog-dotnet-apm.deb \
|
||||
&& rm /tmp/datadog-dotnet-apm.deb
|
||||
|
||||
# Enable the tracer
|
||||
ENV CORECLR_ENABLE_PROFILING=1
|
||||
ENV CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
|
||||
ENV CORECLR_PROFILER_PATH=/opt/datadog/Datadog.Trace.ClrProfiler.Native.so
|
||||
ENV DD_DOTNET_TRACER_HOME=/opt/datadog
|
||||
ENV DD_INTEGRATIONS=/opt/datadog/integrations.json
|
||||
|
||||
EXPOSE 8080/tcp
|
||||
EXPOSE 443/tcp
|
||||
ENTRYPOINT ["dotnet", "Elsa.Server.Web.dll"]
|
||||
89
docker/docker-compose-datadog.yml
Normal file
89
docker/docker-compose-datadog.yml
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:latest
|
||||
command: -c 'max_connections=2000'
|
||||
environment:
|
||||
POSTGRES_USER: elsa
|
||||
POSTGRES_PASSWORD: elsa
|
||||
POSTGRES_DB: elsa
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "5432:5432"
|
||||
|
||||
cockroachdb:
|
||||
image: cockroachdb/cockroach:v22.1.0
|
||||
command: start-single-node --insecure
|
||||
ports:
|
||||
- "26257:26257" # CockroachDB SQL port
|
||||
- "8080:8080" # CockroachDB UI port
|
||||
volumes:
|
||||
- cockroachdb-data:/cockroach/cockroach-data
|
||||
environment:
|
||||
- COCKROACH_DATABASE=elsa
|
||||
|
||||
rabbitmq:
|
||||
image: "rabbitmq:3-management"
|
||||
ports:
|
||||
- "15672:15672"
|
||||
- "5672:5672"
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
ports:
|
||||
- "127.0.0.1:6379:6379"
|
||||
|
||||
elsa-server:
|
||||
build:
|
||||
context: ../.
|
||||
dockerfile: ./docker/ElsaServer-Datadog.Dockerfile
|
||||
depends_on:
|
||||
- postgres
|
||||
- rabbitmq
|
||||
- redis
|
||||
- datadog-agent
|
||||
environment:
|
||||
DD_AGENT_HOST: datadog-agent
|
||||
ASPNETCORE_ENVIRONMENT: Development
|
||||
PYTHONNET_PYDLL: /opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/bin/python3.11
|
||||
PYTHONNET_RUNTIME: coreclr
|
||||
CONNECTIONSTRINGS__POSTGRESQL: "Server=postgres;Username=elsa;Database=elsa;Port=5432;Password=elsa;SSLMode=Prefer"
|
||||
CONNECTIONSTRINGS__RABBITMQ: "amqp://guest:guest@rabbitmq:5672/"
|
||||
CONNECTIONSTRINGS__REDIS: "redis:6379"
|
||||
DISTRIBUTEDLOCKPROVIDER: "Postgres"
|
||||
ports:
|
||||
- "13000:8080"
|
||||
|
||||
elsa-studio:
|
||||
build:
|
||||
context: ../.
|
||||
dockerfile: ./docker/ElsaStudio-Datadog.Dockerfile
|
||||
environment:
|
||||
ASPNETCORE_ENVIRONMENT: Development
|
||||
ELSASERVER__URL: "http://localhost:13000/elsa/api"
|
||||
ports:
|
||||
- "14000:8080"
|
||||
|
||||
datadog-agent:
|
||||
image: datadog/agent:7
|
||||
environment:
|
||||
DD_API_KEY: "YOUR_API_KEY"
|
||||
DD_SITE: "datadoghq.eu"
|
||||
DD_LOGS_ENABLED: "true"
|
||||
DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL: "true"
|
||||
DD_APM_ENABLED: "true"
|
||||
DD_APM_NON_LOCAL_TRAFFIC: "true"
|
||||
DD_AC_INCLUDE: "name:postgres,name:rabbitmq,name:redis,name:elsa-server"
|
||||
DD_AC_EXCLUDE: "name:datadog-agent"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /proc/:/host/proc/:ro
|
||||
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
|
||||
ports:
|
||||
- "8126:8126"
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
cockroachdb-data:
|
||||
69
docker/docker-compose.yml
Normal file
69
docker/docker-compose.yml
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:latest
|
||||
command: -c 'max_connections=2000'
|
||||
environment:
|
||||
POSTGRES_USER: elsa
|
||||
POSTGRES_PASSWORD: elsa
|
||||
POSTGRES_DB: elsa
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "5432:5432"
|
||||
|
||||
cockroachdb:
|
||||
image: cockroachdb/cockroach:v22.1.0
|
||||
command: start-single-node --insecure
|
||||
ports:
|
||||
- "26257:26257" # CockroachDB SQL port
|
||||
- "8080:8080" # CockroachDB UI port
|
||||
volumes:
|
||||
- cockroachdb-data:/cockroach/cockroach-data
|
||||
environment:
|
||||
- COCKROACH_DATABASE=elsa
|
||||
|
||||
rabbitmq:
|
||||
image: "rabbitmq:3-management"
|
||||
ports:
|
||||
- "15672:15672"
|
||||
- "5672:5672"
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
ports:
|
||||
- "127.0.0.1:6379:6379"
|
||||
|
||||
elsa-server:
|
||||
build:
|
||||
context: ../.
|
||||
dockerfile: ./docker/ElsaServer.Dockerfile
|
||||
depends_on:
|
||||
- postgres
|
||||
- rabbitmq
|
||||
- redis
|
||||
environment:
|
||||
ASPNETCORE_ENVIRONMENT: Development
|
||||
PYTHONNET_PYDLL: /opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/bin/python3.11
|
||||
PYTHONNET_RUNTIME: coreclr
|
||||
CONNECTIONSTRINGS__POSTGRESQL: "Server=postgres;Username=elsa;Database=elsa;Port=5432;Password=elsa;SSLMode=Prefer"
|
||||
CONNECTIONSTRINGS__RABBITMQ: "amqp://guest:guest@rabbitmq:5672/"
|
||||
CONNECTIONSTRINGS__REDIS: "redis:6379"
|
||||
DISTRIBUTEDLOCKPROVIDER: "Postgres"
|
||||
ports:
|
||||
- "13000:8080"
|
||||
|
||||
elsa-studio:
|
||||
build:
|
||||
context: ../.
|
||||
dockerfile: ./docker/ElsaStudio.Dockerfile
|
||||
environment:
|
||||
ASPNETCORE_ENVIRONMENT: Development
|
||||
ELSASERVER__URL: "http://localhost:13000/elsa/api"
|
||||
ports:
|
||||
- "14000:8080"
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
cockroachdb-data:
|
||||
23
migrations/efcore-3.1-sql.sh
Executable file
23
migrations/efcore-3.1-sql.sh
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Define the modules to update
|
||||
mods=("Alterations" "Runtime" "Management" "Identity")
|
||||
|
||||
# Define the list of providers
|
||||
providers=("MySql" "SqlServer" "Sqlite" "PostgreSql")
|
||||
|
||||
# Loop through each module
|
||||
for module in "${mods[@]}"; do
|
||||
# Loop through each provider
|
||||
for provider in "${providers[@]}"; do
|
||||
providerPath="../src/modules/Elsa.EntityFrameworkCore.$provider"
|
||||
sqlPath="$providerPath/Migrations/$module/v3.1.sql"
|
||||
|
||||
echo "Generating SQL for $provider..."
|
||||
echo "SQL path: $sqlPath"
|
||||
dotnet ef migrations script -p "$providerPath" -c "$module"ElsaDbContext -o "$sqlPath"
|
||||
|
||||
# Make the file writable:
|
||||
chmod 777 "$sqlPath"
|
||||
done
|
||||
done
|
||||
37
src/bundles/Elsa.Server.Web/Activities/SlowActivity.cs
Normal file
37
src/bundles/Elsa.Server.Web/Activities/SlowActivity.cs
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
using System.Reflection;
|
||||
using Elsa.Extensions;
|
||||
using Elsa.Workflows;
|
||||
using Elsa.Workflows.Attributes;
|
||||
using Elsa.Workflows.Contracts;
|
||||
using Elsa.Workflows.Models;
|
||||
|
||||
namespace Elsa.Server.Web.Activities;
|
||||
|
||||
/// <summary>
|
||||
/// Simulate an activity that takes a long time to complete.
|
||||
/// </summary>
|
||||
[Activity("Testing", "Testing", "Simulate an activity that takes a long time to complete.")]
|
||||
public class SlowActivity : CodeActivity, IActivityPropertyDefaultValueProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// The delay.
|
||||
/// </summary>
|
||||
[Input(Description = "The delay.", DefaultValueProvider = typeof(SlowActivity))]
|
||||
public Input<TimeSpan> Delay { get; set; } = new(TimeSpan.FromSeconds(1));
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override async ValueTask ExecuteAsync(ActivityExecutionContext context)
|
||||
{
|
||||
var delay = Delay.Get(context);
|
||||
await Task.Delay(delay);
|
||||
}
|
||||
|
||||
object IActivityPropertyDefaultValueProvider.GetDefaultValue(PropertyInfo property)
|
||||
{
|
||||
return property.Name switch
|
||||
{
|
||||
nameof(Delay) => TimeSpan.FromSeconds(1),
|
||||
_ => default
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -45,6 +45,8 @@
|
|||
<ItemGroup>
|
||||
<PackageReference Include="Azure.Identity" />
|
||||
<PackageReference Include="Bogus" />
|
||||
<PackageReference Include="DistributedLock.Postgres" />
|
||||
<PackageReference Include="DistributedLock.Redis" />
|
||||
<PackageReference Include="FluentStorage.Azure.Blobs" />
|
||||
<PackageReference Include="Proto.Persistence.Sqlite" />
|
||||
<PackageReference Include="Proto.Persistence.SqlServer" />
|
||||
|
|
|
|||
33
src/bundles/Elsa.Server.Web/Endpoints/Api1/Get/Endpoint.cs
Normal file
33
src/bundles/Elsa.Server.Web/Endpoints/Api1/Get/Endpoint.cs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
using Elsa.Abstractions;
|
||||
using Elsa.Workflows.Activities;
|
||||
using Elsa.Workflows.Models;
|
||||
using Elsa.Workflows.Runtime.Contracts;
|
||||
using Elsa.Workflows.Runtime.Parameters;
|
||||
using JetBrains.Annotations;
|
||||
|
||||
namespace Elsa.Server.Web.Endpoints.Api1.Get;
|
||||
|
||||
/// <summary>
|
||||
/// Returns a message.
|
||||
/// </summary>
|
||||
[UsedImplicitly]
|
||||
public class Get : ElsaEndpointWithoutRequest
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public override void Configure()
|
||||
{
|
||||
Get("/api-1");
|
||||
AllowAnonymous();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override async Task HandleAsync(CancellationToken ct)
|
||||
{
|
||||
await Task.Delay(1000, ct);
|
||||
var response = new
|
||||
{
|
||||
Message = "OK"
|
||||
};
|
||||
await SendOkAsync(response, ct);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
using System.Text.Encodings.Web;
|
||||
using Elsa.Alterations.Extensions;
|
||||
using Elsa.Alterations.MassTransit.Extensions;
|
||||
using Elsa.Common.DistributedLocks.Noop;
|
||||
using Elsa.Dapper.Extensions;
|
||||
using Elsa.Dapper.Services;
|
||||
using Elsa.DropIns.Extensions;
|
||||
|
|
@ -17,6 +18,11 @@ using Elsa.MongoDb.Modules.Management;
|
|||
using Elsa.MongoDb.Modules.Runtime;
|
||||
using Elsa.Server.Web;
|
||||
using Elsa.Workflows.Management.Compression;
|
||||
using Elsa.Workflows.Management.Services;
|
||||
using Elsa.Workflows.Runtime.Stores;
|
||||
using Medallion.Threading.FileSystem;
|
||||
using Medallion.Threading.Postgres;
|
||||
using Medallion.Threading.Redis;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Proto.Persistence.Sqlite;
|
||||
|
|
@ -25,13 +31,16 @@ using Proto.Persistence.SqlServer;
|
|||
const bool useMongoDb = false;
|
||||
const bool useSqlServer = false;
|
||||
const bool usePostgres = false;
|
||||
const bool useCockroachDb = false;
|
||||
const bool useDapper = false;
|
||||
const bool useProtoActor = false;
|
||||
const bool useHangfire = false;
|
||||
const bool useQuartz = true;
|
||||
const bool useMassTransit = true;
|
||||
const bool useZipCompression = false;
|
||||
const bool useZipCompression = true;
|
||||
const MassTransitBroker useMassTransitBroker = MassTransitBroker.Memory;
|
||||
const bool runEFCoreMigrations = true;
|
||||
const bool useMemoryStores = false;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
var services = builder.Services;
|
||||
|
|
@ -41,9 +50,12 @@ var identityTokenSection = identitySection.GetSection("Tokens");
|
|||
var sqliteConnectionString = configuration.GetConnectionString("Sqlite")!;
|
||||
var sqlServerConnectionString = configuration.GetConnectionString("SqlServer")!;
|
||||
var postgresConnectionString = configuration.GetConnectionString("PostgreSql")!;
|
||||
var cockroachDbConnectionString = configuration.GetConnectionString("CockroachDb")!;
|
||||
var mongoDbConnectionString = configuration.GetConnectionString("MongoDb")!;
|
||||
var azureServiceBusConnectionString = configuration.GetConnectionString("AzureServiceBus")!;
|
||||
var rabbitMqConnectionString = configuration.GetConnectionString("RabbitMq")!;
|
||||
var redisConnectionString = configuration.GetConnectionString("Redis")!;
|
||||
var distributedLockProviderName = configuration["DistributedLockProvider"];
|
||||
|
||||
// Add Elsa services.
|
||||
services
|
||||
|
|
@ -92,8 +104,12 @@ services
|
|||
ef.UseSqlServer(sqlServerConnectionString!);
|
||||
else if (usePostgres)
|
||||
ef.UsePostgreSql(postgresConnectionString!);
|
||||
else if (useCockroachDb)
|
||||
ef.UsePostgreSql(cockroachDbConnectionString!);
|
||||
else
|
||||
ef.UseSqlite(sqliteConnectionString);
|
||||
|
||||
ef.RunMigrations = runEFCoreMigrations;
|
||||
});
|
||||
|
||||
identity.IdentityOptions = options => identitySection.Bind(options);
|
||||
|
|
@ -116,12 +132,19 @@ services
|
|||
ef.UseSqlServer(sqlServerConnectionString!);
|
||||
else if (usePostgres)
|
||||
ef.UsePostgreSql(postgresConnectionString!);
|
||||
else if (useCockroachDb)
|
||||
ef.UsePostgreSql(cockroachDbConnectionString!);
|
||||
else
|
||||
ef.UseSqlite(sqliteConnectionString);
|
||||
|
||||
ef.RunMigrations = runEFCoreMigrations;
|
||||
});
|
||||
|
||||
if (useZipCompression)
|
||||
management.SetCompressionAlgorithm(nameof(Zstd));
|
||||
|
||||
if (useMemoryStores)
|
||||
management.UseWorkflowInstances(feature => feature.WorkflowInstanceStore = sp => sp.GetRequiredService<MemoryWorkflowInstanceStore>());
|
||||
})
|
||||
.UseWorkflowRuntime(runtime =>
|
||||
{
|
||||
|
|
@ -136,8 +159,12 @@ services
|
|||
ef.UseSqlServer(sqlServerConnectionString!);
|
||||
else if (usePostgres)
|
||||
ef.UsePostgreSql(postgresConnectionString!);
|
||||
else if (useCockroachDb)
|
||||
ef.UsePostgreSql(cockroachDbConnectionString!);
|
||||
else
|
||||
ef.UseSqlite(sqliteConnectionString);
|
||||
|
||||
ef.RunMigrations = runEFCoreMigrations;
|
||||
});
|
||||
|
||||
if (useProtoActor)
|
||||
|
|
@ -158,6 +185,36 @@ services
|
|||
|
||||
runtime.WorkflowInboxCleanupOptions = options => configuration.GetSection("Runtime:WorkflowInboxCleanup").Bind(options);
|
||||
runtime.WorkflowDispatcherOptions = options => configuration.GetSection("Runtime:WorkflowDispatcher").Bind(options);
|
||||
|
||||
if (useMemoryStores)
|
||||
{
|
||||
runtime.ActivityExecutionLogStore = sp => sp.GetRequiredService<MemoryActivityExecutionStore>();
|
||||
runtime.WorkflowExecutionLogStore = sp => sp.GetRequiredService<MemoryWorkflowExecutionLogStore>();
|
||||
runtime.WorkflowInboxStore = sp => sp.GetRequiredService<MemoryWorkflowInboxMessageStore>();
|
||||
}
|
||||
|
||||
runtime.DistributedLockProvider = _ =>
|
||||
{
|
||||
switch (distributedLockProviderName)
|
||||
{
|
||||
case "Postgres":
|
||||
return new PostgresDistributedSynchronizationProvider(postgresConnectionString, options =>
|
||||
{
|
||||
options.KeepaliveCadence(TimeSpan.FromMinutes(5));
|
||||
options.UseMultiplexing();
|
||||
});
|
||||
case "Redis":
|
||||
{
|
||||
var connectionMultiplexer = StackExchange.Redis.ConnectionMultiplexer.Connect(redisConnectionString);
|
||||
var database = connectionMultiplexer.GetDatabase();
|
||||
return new RedisDistributedSynchronizationProvider(database);
|
||||
}
|
||||
case "Noop":
|
||||
return new NoopDistributedSynchronizationProvider();
|
||||
default:
|
||||
return new FileDistributedSynchronizationProvider(new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "App_Data", "locks")));
|
||||
}
|
||||
};
|
||||
})
|
||||
.UseEnvironments(environments => environments.EnvironmentsOptions = options => configuration.GetSection("Environments").Bind(options))
|
||||
.UseScheduling(scheduling =>
|
||||
|
|
@ -217,8 +274,12 @@ services
|
|||
ef.UseSqlServer(sqlServerConnectionString);
|
||||
else if (usePostgres)
|
||||
ef.UsePostgreSql(postgresConnectionString);
|
||||
else if (useCockroachDb)
|
||||
ef.UsePostgreSql(cockroachDbConnectionString!);
|
||||
else
|
||||
ef.UseSqlite(sqliteConnectionString);
|
||||
|
||||
ef.RunMigrations = runEFCoreMigrations;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,10 +15,12 @@
|
|||
"AllowedHosts": "*",
|
||||
"ConnectionStrings": {
|
||||
"Sqlite": "Data Source=App_Data/elsa.sqlite.db;Cache=Shared;",
|
||||
"PostgreSql": "Server=localhost;Username=postgres;Database=elsa;Port=5432;Password=postgrespw;SSLMode=Prefer",
|
||||
"PostgreSql": "Server=localhost;Username=elsa;Database=elsa;Port=5432;Password=elsa;SSLMode=Prefer;MaxPoolSize=2000;Timeout=60",
|
||||
"CockroachDb": "Host=localhost;Port=26257;Database=elsa;SslMode=Disable;Username=root;IncludeErrorDetail=true",
|
||||
"MongoDb": "mongodb://localhost:27017/elsa-workflows",
|
||||
"AzureServiceBus": "",
|
||||
"RabbitMq": "amqp://guest:guest@localhost:5672"
|
||||
"RabbitMq": "amqp://guest:guest@localhost:5672",
|
||||
"Redis": "localhost:6379,abortConnect=false"
|
||||
},
|
||||
"Smtp": {
|
||||
"Host": "localhost",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
using Medallion.Threading;
|
||||
|
||||
namespace Elsa.Common.DistributedLocks.Noop;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a Noop (No-Operation) implementation of the <see cref="IDistributedLock"/> interface.
|
||||
/// </summary>
|
||||
public class NoopDistributedLock : IDistributedLock
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public IDistributedSynchronizationHandle? TryAcquire(TimeSpan timeout = new TimeSpan(), CancellationToken cancellationToken = new CancellationToken())
|
||||
{
|
||||
return new NoopDistributedSynchronizationHandle();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public IDistributedSynchronizationHandle Acquire(TimeSpan? timeout = null, CancellationToken cancellationToken = new CancellationToken())
|
||||
{
|
||||
return new NoopDistributedSynchronizationHandle();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public ValueTask<IDistributedSynchronizationHandle?> TryAcquireAsync(TimeSpan timeout = new TimeSpan(), CancellationToken cancellationToken = new CancellationToken())
|
||||
{
|
||||
return new ValueTask<IDistributedSynchronizationHandle?>(new NoopDistributedSynchronizationHandle());
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public ValueTask<IDistributedSynchronizationHandle> AcquireAsync(TimeSpan? timeout = null, CancellationToken cancellationToken = new CancellationToken())
|
||||
{
|
||||
return new ValueTask<IDistributedSynchronizationHandle>(new NoopDistributedSynchronizationHandle());
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => "Noop";
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
using Medallion.Threading;
|
||||
|
||||
namespace Elsa.Common.DistributedLocks.Noop;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a Noop distributed synchronization handle. This handle is used in the NoopDistributedLock implementation
|
||||
/// to provide a no-operation implementation of the IDistributedSynchronizationHandle interface.
|
||||
/// </summary>
|
||||
public class NoopDistributedSynchronizationHandle : IDistributedSynchronizationHandle
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public ValueTask DisposeAsync()
|
||||
{
|
||||
return new ValueTask();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public CancellationToken HandleLostToken { get; }
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
using Medallion.Threading;
|
||||
|
||||
namespace Elsa.Common.DistributedLocks.Noop;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a no-op implementation of the IDistributedLockProvider interface.
|
||||
/// </summary>
|
||||
public class NoopDistributedSynchronizationProvider : IDistributedLockProvider
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public IDistributedLock CreateLock(string name)
|
||||
{
|
||||
return new NoopDistributedLock();
|
||||
}
|
||||
}
|
||||
|
|
@ -17,6 +17,7 @@
|
|||
<PackageReference Include="LinqKit.Core" />
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
|
||||
<PackageReference Include="System.Text.Json" />
|
||||
<PackageReference Include="DistributedLock.Core" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
71
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Alterations/v3.1.sql
Executable file
71
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Alterations/v3.1.sql
Executable file
|
|
@ -0,0 +1,71 @@
|
|||
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 `AlterationJobs` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`PlanId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Status` int NOT NULL,
|
||||
`CreatedAt` datetime(6) NOT NULL,
|
||||
`StartedAt` datetime(6) NULL,
|
||||
`CompletedAt` datetime(6) NULL,
|
||||
`SerializedLog` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_AlterationJobs` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE TABLE `AlterationPlans` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Status` int NOT NULL,
|
||||
`CreatedAt` datetime(6) NOT NULL,
|
||||
`StartedAt` datetime(6) NULL,
|
||||
`CompletedAt` datetime(6) NULL,
|
||||
`SerializedAlterations` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedWorkflowInstanceIds` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_AlterationPlans` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE INDEX `IX_AlterationJob_CompletedAt` ON `AlterationJobs` (`CompletedAt`);
|
||||
|
||||
CREATE INDEX `IX_AlterationJob_CreatedAt` ON `AlterationJobs` (`CreatedAt`);
|
||||
|
||||
CREATE INDEX `IX_AlterationJob_PlanId` ON `AlterationJobs` (`PlanId`);
|
||||
|
||||
CREATE INDEX `IX_AlterationJob_StartedAt` ON `AlterationJobs` (`StartedAt`);
|
||||
|
||||
CREATE INDEX `IX_AlterationJob_Status` ON `AlterationJobs` (`Status`);
|
||||
|
||||
CREATE INDEX `IX_AlterationJob_WorkflowInstanceId` ON `AlterationJobs` (`WorkflowInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_AlterationPlan_CompletedAt` ON `AlterationPlans` (`CompletedAt`);
|
||||
|
||||
CREATE INDEX `IX_AlterationPlan_CreatedAt` ON `AlterationPlans` (`CreatedAt`);
|
||||
|
||||
CREATE INDEX `IX_AlterationPlan_StartedAt` ON `AlterationPlans` (`StartedAt`);
|
||||
|
||||
CREATE INDEX `IX_AlterationPlan_Status` ON `AlterationPlans` (`Status`);
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20231015122151_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE `AlterationPlans` CHANGE `SerializedWorkflowInstanceIds` `SerializedWorkflowInstanceFilter` longtext NULL;
|
||||
|
||||
ALTER TABLE `AlterationPlans` MODIFY COLUMN `Status` varchar(255) CHARACTER SET utf8mb4 NOT NULL;
|
||||
|
||||
ALTER TABLE `AlterationJobs` MODIFY COLUMN `Status` varchar(255) CHARACTER SET utf8mb4 NOT NULL;
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20240312145108_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
58
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Identity/v3.1.sql
Executable file
58
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Identity/v3.1.sql
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
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 `Applications` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ClientId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`HashedClientSecret` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`HashedClientSecretSalt` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`HashedApiKey` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`HashedApiKeySalt` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Roles` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
CONSTRAINT `PK_Applications` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE TABLE `Roles` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Permissions` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
CONSTRAINT `PK_Roles` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE TABLE `Users` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`HashedPassword` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`HashedPasswordSalt` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Roles` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
CONSTRAINT `PK_Users` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE UNIQUE INDEX `IX_Application_ClientId` ON `Applications` (`ClientId`);
|
||||
|
||||
CREATE UNIQUE INDEX `IX_Application_Name` ON `Applications` (`Name`);
|
||||
|
||||
CREATE UNIQUE INDEX `IX_Role_Name` ON `Roles` (`Name`);
|
||||
|
||||
CREATE UNIQUE INDEX `IX_User_Name` ON `Users` (`Name`);
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20231015122238_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20240312145212_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
106
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Management/v3.1.sql
Executable file
106
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Management/v3.1.sql
Executable file
|
|
@ -0,0 +1,106 @@
|
|||
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 `WorkflowDefinitions` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`DefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`Description` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`ToolVersion` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`ProviderName` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`MaterializerName` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`MaterializerContext` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`StringData` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`BinaryData` longblob NULL,
|
||||
`IsReadonly` tinyint(1) NOT NULL,
|
||||
`Data` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`UsableAsActivity` tinyint(1) NULL,
|
||||
`CreatedAt` datetime(6) NOT NULL,
|
||||
`Version` int NOT NULL,
|
||||
`IsLatest` tinyint(1) NOT NULL,
|
||||
`IsPublished` tinyint(1) NOT NULL,
|
||||
CONSTRAINT `PK_WorkflowDefinitions` 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,
|
||||
`DefinitionVersionId` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Version` int NOT NULL,
|
||||
`Status` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`SubStatus` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`CorrelationId` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`IncidentCount` int NOT NULL,
|
||||
`CreatedAt` datetime(6) NOT NULL,
|
||||
`UpdatedAt` datetime(6) NOT NULL,
|
||||
`FinishedAt` datetime(6) NULL,
|
||||
`Data` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_WorkflowInstances` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE UNIQUE INDEX `IX_WorkflowDefinition_DefinitionId_Version` 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_UsableAsActivity` ON `WorkflowDefinitions` (`UsableAsActivity`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowDefinition_Version` ON `WorkflowDefinitions` (`Version`);
|
||||
|
||||
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_FinishedAt` ON `WorkflowInstances` (`FinishedAt`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_Name` ON `WorkflowInstances` (`Name`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_Status` ON `WorkflowInstances` (`Status`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_Status_DefinitionId` ON `WorkflowInstances` (`Status`, `DefinitionId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_Status_SubStatus` ON `WorkflowInstances` (`Status`, `SubStatus`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_Status_SubStatus_DefinitionId_Version` ON `WorkflowInstances` (`Status`, `SubStatus`, `DefinitionId`, `Version`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_SubStatus` ON `WorkflowInstances` (`SubStatus`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_SubStatus_DefinitionId` ON `WorkflowInstances` (`SubStatus`, `DefinitionId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_UpdatedAt` ON `WorkflowInstances` (`UpdatedAt`);
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20231015122223_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE `WorkflowInstances` ADD `DataCompressionAlgorithm` longtext CHARACTER SET utf8mb4 NULL;
|
||||
|
||||
ALTER TABLE `WorkflowInstances` ADD `IsSystem` tinyint(1) NOT NULL DEFAULT FALSE;
|
||||
|
||||
ALTER TABLE `WorkflowDefinitions` ADD `IsSystem` tinyint(1) NOT NULL DEFAULT FALSE;
|
||||
|
||||
CREATE INDEX `IX_WorkflowInstance_IsSystem` ON `WorkflowInstances` (`IsSystem`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowDefinition_IsSystem` ON `WorkflowDefinitions` (`IsSystem`);
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20240312145152_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
202
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Runtime/v3.1.sql
Executable file
202
src/modules/Elsa.EntityFrameworkCore.MySql/Migrations/Runtime/v3.1.sql
Executable file
|
|
@ -0,0 +1,202 @@
|
|||
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 `ActivityExecutionRecords` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityNodeId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityTypeVersion` int NOT NULL,
|
||||
`ActivityName` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`StartedAt` datetime(6) NOT NULL,
|
||||
`HasBookmarks` tinyint(1) NOT NULL,
|
||||
`Status` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`CompletedAt` datetime(6) NULL,
|
||||
`SerializedActivityState` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedException` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedOutputs` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedPayload` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_ActivityExecutionRecords` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE TABLE `Bookmarks` (
|
||||
`BookmarkId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityTypeName` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Hash` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityInstanceId` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`CorrelationId` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`CreatedAt` datetime(6) NOT NULL,
|
||||
`SerializedMetadata` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedPayload` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_Bookmarks` PRIMARY KEY (`BookmarkId`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE TABLE `Triggers` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowDefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowDefinitionVersionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityId` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Hash` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedPayload` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_Triggers` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE TABLE `WorkflowExecutionLogRecords` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowDefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowDefinitionVersionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowVersion` int NOT NULL,
|
||||
`ActivityInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ParentActivityInstanceId` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityTypeVersion` int NOT NULL,
|
||||
`ActivityName` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`ActivityNodeId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Timestamp` datetime(6) NOT NULL,
|
||||
`Sequence` bigint NOT NULL,
|
||||
`EventName` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`Message` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`Source` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedActivityState` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedPayload` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_WorkflowExecutionLogRecords` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE TABLE `WorkflowInboxMessages` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`ActivityTypeName` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`Hash` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`CorrelationId` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`ActivityInstanceId` varchar(255) CHARACTER SET utf8mb4 NULL,
|
||||
`CreatedAt` datetime(6) NOT NULL,
|
||||
`ExpiresAt` datetime(6) NOT NULL,
|
||||
`SerializedBookmarkPayload` longtext CHARACTER SET utf8mb4 NULL,
|
||||
`SerializedInput` longtext CHARACTER SET utf8mb4 NULL,
|
||||
CONSTRAINT `PK_WorkflowInboxMessages` PRIMARY KEY (`Id`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_ActivityId` ON `ActivityExecutionRecords` (`ActivityId`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_ActivityName` ON `ActivityExecutionRecords` (`ActivityName`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_ActivityNodeId` ON `ActivityExecutionRecords` (`ActivityNodeId`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_ActivityType` ON `ActivityExecutionRecords` (`ActivityType`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_ActivityType_ActivityTypeVersion` ON `ActivityExecutionRecords` (`ActivityType`, `ActivityTypeVersion`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_ActivityTypeVersion` ON `ActivityExecutionRecords` (`ActivityTypeVersion`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_CompletedAt` ON `ActivityExecutionRecords` (`CompletedAt`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_HasBookmarks` ON `ActivityExecutionRecords` (`HasBookmarks`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_StartedAt` ON `ActivityExecutionRecords` (`StartedAt`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_Status` ON `ActivityExecutionRecords` (`Status`);
|
||||
|
||||
CREATE INDEX `IX_ActivityExecutionRecord_WorkflowInstanceId` ON `ActivityExecutionRecords` (`WorkflowInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_StoredBookmark_ActivityInstanceId` ON `Bookmarks` (`ActivityInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_StoredBookmark_ActivityTypeName` ON `Bookmarks` (`ActivityTypeName`);
|
||||
|
||||
CREATE INDEX `IX_StoredBookmark_ActivityTypeName_Hash` ON `Bookmarks` (`ActivityTypeName`, `Hash`);
|
||||
|
||||
CREATE INDEX `IX_StoredBookmark_ActivityTypeName_Hash_WorkflowInstanceId` ON `Bookmarks` (`ActivityTypeName`, `Hash`, `WorkflowInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_StoredBookmark_CreatedAt` ON `Bookmarks` (`CreatedAt`);
|
||||
|
||||
CREATE INDEX `IX_StoredBookmark_Hash` ON `Bookmarks` (`Hash`);
|
||||
|
||||
CREATE INDEX `IX_StoredBookmark_WorkflowInstanceId` ON `Bookmarks` (`WorkflowInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_StoredTrigger_Hash` ON `Triggers` (`Hash`);
|
||||
|
||||
CREATE INDEX `IX_StoredTrigger_Name` ON `Triggers` (`Name`);
|
||||
|
||||
CREATE INDEX `IX_StoredTrigger_WorkflowDefinitionId` ON `Triggers` (`WorkflowDefinitionId`);
|
||||
|
||||
CREATE INDEX `IX_StoredTrigger_WorkflowDefinitionVersionId` ON `Triggers` (`WorkflowDefinitionVersionId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityId` ON `WorkflowExecutionLogRecords` (`ActivityId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityInstanceId` ON `WorkflowExecutionLogRecords` (`ActivityInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityName` ON `WorkflowExecutionLogRecords` (`ActivityName`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityNodeId` ON `WorkflowExecutionLogRecords` (`ActivityNodeId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityType` ON `WorkflowExecutionLogRecords` (`ActivityType`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityType_ActivityTypeVersion` ON `WorkflowExecutionLogRecords` (`ActivityType`, `ActivityTypeVersion`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityTypeVersion` ON `WorkflowExecutionLogRecords` (`ActivityTypeVersion`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_EventName` ON `WorkflowExecutionLogRecords` (`EventName`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_ParentActivityInstanceId` ON `WorkflowExecutionLogRecords` (`ParentActivityInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_Sequence` ON `WorkflowExecutionLogRecords` (`Sequence`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_Timestamp` ON `WorkflowExecutionLogRecords` (`Timestamp`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_Timestamp_Sequence` ON `WorkflowExecutionLogRecords` (`Timestamp`, `Sequence`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_WorkflowDefinitionId` ON `WorkflowExecutionLogRecords` (`WorkflowDefinitionId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_WorkflowDefinitionVersionId` ON `WorkflowExecutionLogRecords` (`WorkflowDefinitionVersionId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_WorkflowInstanceId` ON `WorkflowExecutionLogRecords` (`WorkflowInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowExecutionLogRecord_WorkflowVersion` ON `WorkflowExecutionLogRecords` (`WorkflowVersion`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInboxMessage_ActivityInstanceId` ON `WorkflowInboxMessages` (`ActivityInstanceId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInboxMessage_ActivityTypeName` ON `WorkflowInboxMessages` (`ActivityTypeName`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInboxMessage_CorrelationId` ON `WorkflowInboxMessages` (`CorrelationId`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInboxMessage_CreatedAt` ON `WorkflowInboxMessages` (`CreatedAt`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInboxMessage_ExpiresAt` ON `WorkflowInboxMessages` (`ExpiresAt`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInboxMessage_Hash` ON `WorkflowInboxMessages` (`Hash`);
|
||||
|
||||
CREATE INDEX `IX_WorkflowInboxMessage_WorkflowInstanceId` ON `WorkflowInboxMessages` (`WorkflowInstanceId`);
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20231024160940_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE `ActivityExecutionRecords` ADD `SerializedActivityStateCompressionAlgorithm` longtext CHARACTER SET utf8mb4 NULL;
|
||||
|
||||
ALTER TABLE `ActivityExecutionRecords` ADD `SerializedProperties` longtext CHARACTER SET utf8mb4 NULL;
|
||||
|
||||
CREATE TABLE `KeyValuePairs` (
|
||||
`Key` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
|
||||
`SerializedValue` longtext CHARACTER SET utf8mb4 NOT NULL,
|
||||
CONSTRAINT `PK_KeyValuePairs` PRIMARY KEY (`Key`)
|
||||
) CHARACTER SET=utf8mb4;
|
||||
|
||||
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
|
||||
VALUES ('20240312145132_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
|
||||
CREATE TABLE IF NOT EXISTS "Elsa"."__EFMigrationsHistory" (
|
||||
"MigrationId" character varying(150) NOT NULL,
|
||||
"ProductVersion" character varying(32) NOT NULL,
|
||||
CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
|
||||
);
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
CREATE TABLE "Elsa"."AlterationJobs" (
|
||||
"Id" text NOT NULL,
|
||||
"PlanId" text NOT NULL,
|
||||
"WorkflowInstanceId" text NOT NULL,
|
||||
"Status" integer NOT NULL,
|
||||
"CreatedAt" timestamp with time zone NOT NULL,
|
||||
"StartedAt" timestamp with time zone NULL,
|
||||
"CompletedAt" timestamp with time zone NULL,
|
||||
"SerializedLog" text NULL,
|
||||
CONSTRAINT "PK_AlterationJobs" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE TABLE "Elsa"."AlterationPlans" (
|
||||
"Id" text NOT NULL,
|
||||
"Status" integer NOT NULL,
|
||||
"CreatedAt" timestamp with time zone NOT NULL,
|
||||
"StartedAt" timestamp with time zone NULL,
|
||||
"CompletedAt" timestamp with time zone NULL,
|
||||
"SerializedAlterations" text NULL,
|
||||
"SerializedWorkflowInstanceIds" text NULL,
|
||||
CONSTRAINT "PK_AlterationPlans" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_CompletedAt" ON "Elsa"."AlterationJobs" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_CreatedAt" ON "Elsa"."AlterationJobs" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_PlanId" ON "Elsa"."AlterationJobs" ("PlanId");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_StartedAt" ON "Elsa"."AlterationJobs" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_Status" ON "Elsa"."AlterationJobs" ("Status");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_WorkflowInstanceId" ON "Elsa"."AlterationJobs" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_CompletedAt" ON "Elsa"."AlterationPlans" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_CreatedAt" ON "Elsa"."AlterationPlans" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_StartedAt" ON "Elsa"."AlterationPlans" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_Status" ON "Elsa"."AlterationPlans" ("Status");
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231015122203_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE "Elsa"."AlterationPlans" RENAME COLUMN "SerializedWorkflowInstanceIds" TO "SerializedWorkflowInstanceFilter";
|
||||
|
||||
ALTER TABLE "Elsa"."AlterationPlans" ALTER COLUMN "Status" TYPE text;
|
||||
|
||||
ALTER TABLE "Elsa"."AlterationJobs" ALTER COLUMN "Status" TYPE text;
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145127_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
59
src/modules/Elsa.EntityFrameworkCore.PostgreSql/Migrations/Identity/v3.1.sql
Executable file
59
src/modules/Elsa.EntityFrameworkCore.PostgreSql/Migrations/Identity/v3.1.sql
Executable file
|
|
@ -0,0 +1,59 @@
|
|||
|
||||
CREATE TABLE IF NOT EXISTS "Elsa"."__EFMigrationsHistory" (
|
||||
"MigrationId" character varying(150) NOT NULL,
|
||||
"ProductVersion" character varying(32) NOT NULL,
|
||||
CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
|
||||
);
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
CREATE TABLE "Elsa"."Applications" (
|
||||
"Id" text NOT NULL,
|
||||
"ClientId" text NOT NULL,
|
||||
"HashedClientSecret" text NOT NULL,
|
||||
"HashedClientSecretSalt" text NOT NULL,
|
||||
"Name" text NOT NULL,
|
||||
"HashedApiKey" text NOT NULL,
|
||||
"HashedApiKeySalt" text NOT NULL,
|
||||
"Roles" text NOT NULL,
|
||||
CONSTRAINT "PK_Applications" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
|
||||
CREATE TABLE "Elsa"."Roles" (
|
||||
"Id" text NOT NULL,
|
||||
"Name" text NOT NULL,
|
||||
"Permissions" text NOT NULL,
|
||||
CONSTRAINT "PK_Roles" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE TABLE "Elsa"."Users" (
|
||||
"Id" text NOT NULL,
|
||||
"Name" text NOT NULL,
|
||||
"HashedPassword" text NOT NULL,
|
||||
"HashedPasswordSalt" text NOT NULL,
|
||||
"Roles" text NOT NULL,
|
||||
CONSTRAINT "PK_Users" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX "IX_Application_ClientId" ON "Elsa"."Applications" ("ClientId");
|
||||
|
||||
CREATE UNIQUE INDEX "IX_Application_Name" ON "Elsa"."Applications" ("Name");
|
||||
|
||||
CREATE UNIQUE INDEX "IX_Role_Name" ON "Elsa"."Roles" ("Name");
|
||||
|
||||
CREATE UNIQUE INDEX "IX_User_Name" ON "Elsa"."Users" ("Name");
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231015122250_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145226_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
105
src/modules/Elsa.EntityFrameworkCore.PostgreSql/Migrations/Management/v3.1.sql
Executable file
105
src/modules/Elsa.EntityFrameworkCore.PostgreSql/Migrations/Management/v3.1.sql
Executable file
|
|
@ -0,0 +1,105 @@
|
|||
|
||||
CREATE TABLE IF NOT EXISTS "Elsa"."__EFMigrationsHistory" (
|
||||
"MigrationId" character varying(150) NOT NULL,
|
||||
"ProductVersion" character varying(32) NOT NULL,
|
||||
CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
|
||||
);
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
CREATE TABLE "Elsa"."WorkflowDefinitions" (
|
||||
"Id" text NOT NULL,
|
||||
"DefinitionId" text NOT NULL,
|
||||
"Name" text NULL,
|
||||
"Description" text NULL,
|
||||
"ToolVersion" text NULL,
|
||||
"ProviderName" text NULL,
|
||||
"MaterializerName" text NOT NULL,
|
||||
"MaterializerContext" text NULL,
|
||||
"StringData" text NULL,
|
||||
"BinaryData" bytea NULL,
|
||||
"IsReadonly" boolean NOT NULL,
|
||||
"Data" text NULL,
|
||||
"UsableAsActivity" boolean NULL,
|
||||
"CreatedAt" timestamp with time zone NOT NULL,
|
||||
"Version" integer NOT NULL,
|
||||
"IsLatest" boolean NOT NULL,
|
||||
"IsPublished" boolean NOT NULL,
|
||||
CONSTRAINT "PK_WorkflowDefinitions" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE TABLE "Elsa"."WorkflowInstances" (
|
||||
"Id" text NOT NULL,
|
||||
"DefinitionId" text NOT NULL,
|
||||
"DefinitionVersionId" text NOT NULL,
|
||||
"Version" integer NOT NULL,
|
||||
"Status" text NOT NULL,
|
||||
"SubStatus" text NOT NULL,
|
||||
"CorrelationId" text NULL,
|
||||
"Name" text NULL,
|
||||
"IncidentCount" integer NOT NULL,
|
||||
"CreatedAt" timestamp with time zone NOT NULL,
|
||||
"UpdatedAt" timestamp with time zone NOT NULL,
|
||||
"FinishedAt" timestamp with time zone NULL,
|
||||
"Data" text NULL,
|
||||
CONSTRAINT "PK_WorkflowInstances" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX "IX_WorkflowDefinition_DefinitionId_Version" ON "Elsa"."WorkflowDefinitions" ("DefinitionId", "Version");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_IsLatest" ON "Elsa"."WorkflowDefinitions" ("IsLatest");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_IsPublished" ON "Elsa"."WorkflowDefinitions" ("IsPublished");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_Name" ON "Elsa"."WorkflowDefinitions" ("Name");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_UsableAsActivity" ON "Elsa"."WorkflowDefinitions" ("UsableAsActivity");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_Version" ON "Elsa"."WorkflowDefinitions" ("Version");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_CorrelationId" ON "Elsa"."WorkflowInstances" ("CorrelationId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_CreatedAt" ON "Elsa"."WorkflowInstances" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_DefinitionId" ON "Elsa"."WorkflowInstances" ("DefinitionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_FinishedAt" ON "Elsa"."WorkflowInstances" ("FinishedAt");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Name" ON "Elsa"."WorkflowInstances" ("Name");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status" ON "Elsa"."WorkflowInstances" ("Status");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status_DefinitionId" ON "Elsa"."WorkflowInstances" ("Status", "DefinitionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status_SubStatus" ON "Elsa"."WorkflowInstances" ("Status", "SubStatus");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status_SubStatus_DefinitionId_Version" ON "Elsa"."WorkflowInstances" ("Status", "SubStatus", "DefinitionId", "Version");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_SubStatus" ON "Elsa"."WorkflowInstances" ("SubStatus");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_SubStatus_DefinitionId" ON "Elsa"."WorkflowInstances" ("SubStatus", "DefinitionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_UpdatedAt" ON "Elsa"."WorkflowInstances" ("UpdatedAt");
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231015122234_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE "Elsa"."WorkflowInstances" ADD "DataCompressionAlgorithm" text NULL;
|
||||
|
||||
ALTER TABLE "Elsa"."WorkflowInstances" ADD "IsSystem" boolean NOT NULL DEFAULT FALSE;
|
||||
|
||||
ALTER TABLE "Elsa"."WorkflowDefinitions" ADD "IsSystem" boolean NOT NULL DEFAULT FALSE;
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_IsSystem" ON "Elsa"."WorkflowInstances" ("IsSystem");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_IsSystem" ON "Elsa"."WorkflowDefinitions" ("IsSystem");
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145207_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
200
src/modules/Elsa.EntityFrameworkCore.PostgreSql/Migrations/Runtime/v3.1.sql
Executable file
200
src/modules/Elsa.EntityFrameworkCore.PostgreSql/Migrations/Runtime/v3.1.sql
Executable file
|
|
@ -0,0 +1,200 @@
|
|||
CREATE TABLE IF NOT EXISTS "Elsa"."__EFMigrationsHistory" (
|
||||
"MigrationId" character varying(150) NOT NULL,
|
||||
"ProductVersion" character varying(32) NOT NULL,
|
||||
CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
|
||||
);
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
CREATE TABLE "Elsa"."ActivityExecutionRecords" (
|
||||
"Id" text NOT NULL,
|
||||
"WorkflowInstanceId" text NOT NULL,
|
||||
"ActivityId" text NOT NULL,
|
||||
"ActivityNodeId" text NOT NULL,
|
||||
"ActivityType" text NOT NULL,
|
||||
"ActivityTypeVersion" integer NOT NULL,
|
||||
"ActivityName" text NULL,
|
||||
"StartedAt" timestamp with time zone NOT NULL,
|
||||
"HasBookmarks" boolean NOT NULL,
|
||||
"Status" text NOT NULL,
|
||||
"CompletedAt" timestamp with time zone NULL,
|
||||
"SerializedActivityState" text NULL,
|
||||
"SerializedException" text NULL,
|
||||
"SerializedOutputs" text NULL,
|
||||
"SerializedPayload" text NULL,
|
||||
CONSTRAINT "PK_ActivityExecutionRecords" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE TABLE "Elsa"."Bookmarks" (
|
||||
"BookmarkId" text NOT NULL,
|
||||
"ActivityTypeName" text NOT NULL,
|
||||
"Hash" text NOT NULL,
|
||||
"WorkflowInstanceId" text NOT NULL,
|
||||
"ActivityInstanceId" text NULL,
|
||||
"CorrelationId" text NULL,
|
||||
"CreatedAt" timestamp with time zone NOT NULL,
|
||||
"SerializedMetadata" text NULL,
|
||||
"SerializedPayload" text NULL,
|
||||
CONSTRAINT "PK_Bookmarks" PRIMARY KEY ("BookmarkId")
|
||||
);
|
||||
|
||||
CREATE TABLE "Elsa"."Triggers" (
|
||||
"Id" text NOT NULL,
|
||||
"WorkflowDefinitionId" text NOT NULL,
|
||||
"WorkflowDefinitionVersionId" text NOT NULL,
|
||||
"Name" text NOT NULL,
|
||||
"ActivityId" text NOT NULL,
|
||||
"Hash" text NULL,
|
||||
"SerializedPayload" text NULL,
|
||||
CONSTRAINT "PK_Triggers" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE TABLE "Elsa"."WorkflowExecutionLogRecords" (
|
||||
"Id" text NOT NULL,
|
||||
"WorkflowDefinitionId" text NOT NULL,
|
||||
"WorkflowDefinitionVersionId" text NOT NULL,
|
||||
"WorkflowInstanceId" text NOT NULL,
|
||||
"WorkflowVersion" integer NOT NULL,
|
||||
"ActivityInstanceId" text NOT NULL,
|
||||
"ParentActivityInstanceId" text NULL,
|
||||
"ActivityId" text NOT NULL,
|
||||
"ActivityType" text NOT NULL,
|
||||
"ActivityTypeVersion" integer NOT NULL,
|
||||
"ActivityName" text NULL,
|
||||
"ActivityNodeId" text NOT NULL,
|
||||
"Timestamp" timestamp with time zone NOT NULL,
|
||||
"Sequence" bigint NOT NULL,
|
||||
"EventName" text NULL,
|
||||
"Message" text NULL,
|
||||
"Source" text NULL,
|
||||
"SerializedActivityState" text NULL,
|
||||
"SerializedPayload" text NULL,
|
||||
CONSTRAINT "PK_WorkflowExecutionLogRecords" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE TABLE "Elsa"."WorkflowInboxMessages" (
|
||||
"Id" text NOT NULL,
|
||||
"ActivityTypeName" text NOT NULL,
|
||||
"Hash" text NOT NULL,
|
||||
"WorkflowInstanceId" text NULL,
|
||||
"CorrelationId" text NULL,
|
||||
"ActivityInstanceId" text NULL,
|
||||
"CreatedAt" timestamp with time zone NOT NULL,
|
||||
"ExpiresAt" timestamp with time zone NOT NULL,
|
||||
"SerializedBookmarkPayload" text NULL,
|
||||
"SerializedInput" text NULL,
|
||||
CONSTRAINT "PK_WorkflowInboxMessages" PRIMARY KEY ("Id")
|
||||
);
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityId" ON "Elsa"."ActivityExecutionRecords" ("ActivityId");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityName" ON "Elsa"."ActivityExecutionRecords" ("ActivityName");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityNodeId" ON "Elsa"."ActivityExecutionRecords" ("ActivityNodeId");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityType" ON "Elsa"."ActivityExecutionRecords" ("ActivityType");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityType_ActivityTypeVersion" ON "Elsa"."ActivityExecutionRecords" ("ActivityType", "ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityTypeVersion" ON "Elsa"."ActivityExecutionRecords" ("ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_CompletedAt" ON "Elsa"."ActivityExecutionRecords" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_HasBookmarks" ON "Elsa"."ActivityExecutionRecords" ("HasBookmarks");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_StartedAt" ON "Elsa"."ActivityExecutionRecords" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_Status" ON "Elsa"."ActivityExecutionRecords" ("Status");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_WorkflowInstanceId" ON "Elsa"."ActivityExecutionRecords" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityInstanceId" ON "Elsa"."Bookmarks" ("ActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityTypeName" ON "Elsa"."Bookmarks" ("ActivityTypeName");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityTypeName_Hash" ON "Elsa"."Bookmarks" ("ActivityTypeName", "Hash");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityTypeName_Hash_WorkflowInstanceId" ON "Elsa"."Bookmarks" ("ActivityTypeName", "Hash", "WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_CreatedAt" ON "Elsa"."Bookmarks" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_Hash" ON "Elsa"."Bookmarks" ("Hash");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_WorkflowInstanceId" ON "Elsa"."Bookmarks" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_Hash" ON "Elsa"."Triggers" ("Hash");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_Name" ON "Elsa"."Triggers" ("Name");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_WorkflowDefinitionId" ON "Elsa"."Triggers" ("WorkflowDefinitionId");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_WorkflowDefinitionVersionId" ON "Elsa"."Triggers" ("WorkflowDefinitionVersionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityId" ON "Elsa"."WorkflowExecutionLogRecords" ("ActivityId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityInstanceId" ON "Elsa"."WorkflowExecutionLogRecords" ("ActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityName" ON "Elsa"."WorkflowExecutionLogRecords" ("ActivityName");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityNodeId" ON "Elsa"."WorkflowExecutionLogRecords" ("ActivityNodeId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityType" ON "Elsa"."WorkflowExecutionLogRecords" ("ActivityType");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityType_ActivityTypeVersion" ON "Elsa"."WorkflowExecutionLogRecords" ("ActivityType", "ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityTypeVersion" ON "Elsa"."WorkflowExecutionLogRecords" ("ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_EventName" ON "Elsa"."WorkflowExecutionLogRecords" ("EventName");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ParentActivityInstanceId" ON "Elsa"."WorkflowExecutionLogRecords" ("ParentActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_Sequence" ON "Elsa"."WorkflowExecutionLogRecords" ("Sequence");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_Timestamp" ON "Elsa"."WorkflowExecutionLogRecords" ("Timestamp");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_Timestamp_Sequence" ON "Elsa"."WorkflowExecutionLogRecords" ("Timestamp", "Sequence");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowDefinitionId" ON "Elsa"."WorkflowExecutionLogRecords" ("WorkflowDefinitionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowDefinitionVersionId" ON "Elsa"."WorkflowExecutionLogRecords" ("WorkflowDefinitionVersionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowInstanceId" ON "Elsa"."WorkflowExecutionLogRecords" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowVersion" ON "Elsa"."WorkflowExecutionLogRecords" ("WorkflowVersion");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_ActivityInstanceId" ON "Elsa"."WorkflowInboxMessages" ("ActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_ActivityTypeName" ON "Elsa"."WorkflowInboxMessages" ("ActivityTypeName");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_CorrelationId" ON "Elsa"."WorkflowInboxMessages" ("CorrelationId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_CreatedAt" ON "Elsa"."WorkflowInboxMessages" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_ExpiresAt" ON "Elsa"."WorkflowInboxMessages" ("ExpiresAt");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_Hash" ON "Elsa"."WorkflowInboxMessages" ("Hash");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_WorkflowInstanceId" ON "Elsa"."WorkflowInboxMessages" ("WorkflowInstanceId");
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231024160952_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE "Elsa"."ActivityExecutionRecords" ADD "SerializedActivityStateCompressionAlgorithm" text NULL;
|
||||
|
||||
ALTER TABLE "Elsa"."ActivityExecutionRecords" ADD "SerializedProperties" text NULL;
|
||||
|
||||
CREATE TABLE "Elsa"."KeyValuePairs" (
|
||||
"Key" text NOT NULL,
|
||||
"SerializedValue" text NOT NULL,
|
||||
CONSTRAINT "PK_KeyValuePairs" PRIMARY KEY ("Key")
|
||||
);
|
||||
|
||||
INSERT INTO "Elsa"."__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145147_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
114
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Alterations/v3.1.sql
Executable file
114
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Alterations/v3.1.sql
Executable file
|
|
@ -0,0 +1,114 @@
|
|||
IF OBJECT_ID(N'[Elsa].[__EFMigrationsHistory]') IS NULL
|
||||
BEGIN
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
CREATE TABLE [Elsa].[__EFMigrationsHistory] (
|
||||
[MigrationId] nvarchar(150) NOT NULL,
|
||||
[ProductVersion] nvarchar(32) NOT NULL,
|
||||
CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
|
||||
);
|
||||
END;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[AlterationJobs] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[PlanId] nvarchar(450) NOT NULL,
|
||||
[WorkflowInstanceId] nvarchar(450) NOT NULL,
|
||||
[Status] int NOT NULL,
|
||||
[CreatedAt] datetimeoffset NOT NULL,
|
||||
[StartedAt] datetimeoffset NULL,
|
||||
[CompletedAt] datetimeoffset NULL,
|
||||
[SerializedLog] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_AlterationJobs] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[AlterationPlans] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[Status] int NOT NULL,
|
||||
[CreatedAt] datetimeoffset NOT NULL,
|
||||
[StartedAt] datetimeoffset NULL,
|
||||
[CompletedAt] datetimeoffset NULL,
|
||||
[SerializedAlterations] nvarchar(max) NULL,
|
||||
[SerializedWorkflowInstanceIds] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_AlterationPlans] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationJob_CompletedAt] ON [Elsa].[AlterationJobs] ([CompletedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationJob_CreatedAt] ON [Elsa].[AlterationJobs] ([CreatedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationJob_PlanId] ON [Elsa].[AlterationJobs] ([PlanId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationJob_StartedAt] ON [Elsa].[AlterationJobs] ([StartedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationJob_Status] ON [Elsa].[AlterationJobs] ([Status]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationJob_WorkflowInstanceId] ON [Elsa].[AlterationJobs] ([WorkflowInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationPlan_CompletedAt] ON [Elsa].[AlterationPlans] ([CompletedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationPlan_CreatedAt] ON [Elsa].[AlterationPlans] ([CreatedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationPlan_StartedAt] ON [Elsa].[AlterationPlans] ([StartedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_AlterationPlan_Status] ON [Elsa].[AlterationPlans] ([Status]);
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20231015122155_Initial', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
EXEC sp_rename N'[Elsa].[AlterationPlans].[SerializedWorkflowInstanceIds]', N'SerializedWorkflowInstanceFilter', N'COLUMN';
|
||||
GO
|
||||
|
||||
DROP INDEX [IX_AlterationPlan_Status] ON [Elsa].[AlterationPlans];
|
||||
DECLARE @var0 sysname;
|
||||
SELECT @var0 = [d].[name]
|
||||
FROM [sys].[default_constraints] [d]
|
||||
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
|
||||
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Elsa].[AlterationPlans]') AND [c].[name] = N'Status');
|
||||
IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Elsa].[AlterationPlans] DROP CONSTRAINT [' + @var0 + '];');
|
||||
ALTER TABLE [Elsa].[AlterationPlans] ALTER COLUMN [Status] nvarchar(450) NOT NULL;
|
||||
CREATE INDEX [IX_AlterationPlan_Status] ON [Elsa].[AlterationPlans] ([Status]);
|
||||
GO
|
||||
|
||||
DROP INDEX [IX_AlterationJob_Status] ON [Elsa].[AlterationJobs];
|
||||
DECLARE @var1 sysname;
|
||||
SELECT @var1 = [d].[name]
|
||||
FROM [sys].[default_constraints] [d]
|
||||
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
|
||||
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Elsa].[AlterationJobs]') AND [c].[name] = N'Status');
|
||||
IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Elsa].[AlterationJobs] DROP CONSTRAINT [' + @var1 + '];');
|
||||
ALTER TABLE [Elsa].[AlterationJobs] ALTER COLUMN [Status] nvarchar(450) NOT NULL;
|
||||
CREATE INDEX [IX_AlterationJob_Status] ON [Elsa].[AlterationJobs] ([Status]);
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20240312145115_V3_1', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
77
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Identity/v3.1.sql
Executable file
77
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Identity/v3.1.sql
Executable file
|
|
@ -0,0 +1,77 @@
|
|||
IF OBJECT_ID(N'[Elsa].[__EFMigrationsHistory]') IS NULL
|
||||
BEGIN
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
CREATE TABLE [Elsa].[__EFMigrationsHistory] (
|
||||
[MigrationId] nvarchar(150) NOT NULL,
|
||||
[ProductVersion] nvarchar(32) NOT NULL,
|
||||
CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
|
||||
);
|
||||
END;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[Applications] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[ClientId] nvarchar(450) NOT NULL,
|
||||
[HashedClientSecret] nvarchar(max) NOT NULL,
|
||||
[HashedClientSecretSalt] nvarchar(max) NOT NULL,
|
||||
[Name] nvarchar(450) NOT NULL,
|
||||
[HashedApiKey] nvarchar(max) NOT NULL,
|
||||
[HashedApiKeySalt] nvarchar(max) NOT NULL,
|
||||
[Roles] nvarchar(max) NOT NULL,
|
||||
CONSTRAINT [PK_Applications] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[Roles] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[Name] nvarchar(450) NOT NULL,
|
||||
[Permissions] nvarchar(max) NOT NULL,
|
||||
CONSTRAINT [PK_Roles] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[Users] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[Name] nvarchar(450) NOT NULL,
|
||||
[HashedPassword] nvarchar(max) NOT NULL,
|
||||
[HashedPasswordSalt] nvarchar(max) NOT NULL,
|
||||
[Roles] nvarchar(max) NOT NULL,
|
||||
CONSTRAINT [PK_Users] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE UNIQUE INDEX [IX_Application_ClientId] ON [Elsa].[Applications] ([ClientId]);
|
||||
GO
|
||||
|
||||
CREATE UNIQUE INDEX [IX_Application_Name] ON [Elsa].[Applications] ([Name]);
|
||||
GO
|
||||
|
||||
CREATE UNIQUE INDEX [IX_Role_Name] ON [Elsa].[Roles] ([Name]);
|
||||
GO
|
||||
|
||||
CREATE UNIQUE INDEX [IX_User_Name] ON [Elsa].[Users] ([Name]);
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20231015122242_Initial', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20240312145217_V3_1', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
143
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Management/v3.1.sql
Executable file
143
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Management/v3.1.sql
Executable file
|
|
@ -0,0 +1,143 @@
|
|||
IF OBJECT_ID(N'[Elsa].[__EFMigrationsHistory]') IS NULL
|
||||
BEGIN
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
CREATE TABLE [Elsa].[__EFMigrationsHistory] (
|
||||
[MigrationId] nvarchar(150) NOT NULL,
|
||||
[ProductVersion] nvarchar(32) NOT NULL,
|
||||
CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
|
||||
);
|
||||
END;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[WorkflowDefinitions] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[DefinitionId] nvarchar(450) NOT NULL,
|
||||
[Name] nvarchar(450) NULL,
|
||||
[Description] nvarchar(max) NULL,
|
||||
[ToolVersion] nvarchar(max) NULL,
|
||||
[ProviderName] nvarchar(max) NULL,
|
||||
[MaterializerName] nvarchar(max) NOT NULL,
|
||||
[MaterializerContext] nvarchar(max) NULL,
|
||||
[StringData] nvarchar(max) NULL,
|
||||
[BinaryData] varbinary(max) NULL,
|
||||
[IsReadonly] bit NOT NULL,
|
||||
[Data] nvarchar(max) NULL,
|
||||
[UsableAsActivity] bit NULL,
|
||||
[CreatedAt] datetimeoffset NOT NULL,
|
||||
[Version] int NOT NULL,
|
||||
[IsLatest] bit NOT NULL,
|
||||
[IsPublished] bit NOT NULL,
|
||||
CONSTRAINT [PK_WorkflowDefinitions] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[WorkflowInstances] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[DefinitionId] nvarchar(450) NOT NULL,
|
||||
[DefinitionVersionId] nvarchar(max) NOT NULL,
|
||||
[Version] int NOT NULL,
|
||||
[Status] nvarchar(450) NOT NULL,
|
||||
[SubStatus] nvarchar(450) NOT NULL,
|
||||
[CorrelationId] nvarchar(450) NULL,
|
||||
[Name] nvarchar(450) NULL,
|
||||
[IncidentCount] int NOT NULL,
|
||||
[CreatedAt] datetimeoffset NOT NULL,
|
||||
[UpdatedAt] datetimeoffset NOT NULL,
|
||||
[FinishedAt] datetimeoffset NULL,
|
||||
[Data] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_WorkflowInstances] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE UNIQUE INDEX [IX_WorkflowDefinition_DefinitionId_Version] ON [Elsa].[WorkflowDefinitions] ([DefinitionId], [Version]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowDefinition_IsLatest] ON [Elsa].[WorkflowDefinitions] ([IsLatest]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowDefinition_IsPublished] ON [Elsa].[WorkflowDefinitions] ([IsPublished]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowDefinition_Name] ON [Elsa].[WorkflowDefinitions] ([Name]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowDefinition_UsableAsActivity] ON [Elsa].[WorkflowDefinitions] ([UsableAsActivity]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowDefinition_Version] ON [Elsa].[WorkflowDefinitions] ([Version]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_CorrelationId] ON [Elsa].[WorkflowInstances] ([CorrelationId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_CreatedAt] ON [Elsa].[WorkflowInstances] ([CreatedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_DefinitionId] ON [Elsa].[WorkflowInstances] ([DefinitionId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_FinishedAt] ON [Elsa].[WorkflowInstances] ([FinishedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_Name] ON [Elsa].[WorkflowInstances] ([Name]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_Status] ON [Elsa].[WorkflowInstances] ([Status]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_Status_DefinitionId] ON [Elsa].[WorkflowInstances] ([Status], [DefinitionId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_Status_SubStatus] ON [Elsa].[WorkflowInstances] ([Status], [SubStatus]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_Status_SubStatus_DefinitionId_Version] ON [Elsa].[WorkflowInstances] ([Status], [SubStatus], [DefinitionId], [Version]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_SubStatus] ON [Elsa].[WorkflowInstances] ([SubStatus]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_SubStatus_DefinitionId] ON [Elsa].[WorkflowInstances] ([SubStatus], [DefinitionId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_UpdatedAt] ON [Elsa].[WorkflowInstances] ([UpdatedAt]);
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20231015122227_Initial', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
ALTER TABLE [Elsa].[WorkflowInstances] ADD [DataCompressionAlgorithm] nvarchar(max) NULL;
|
||||
GO
|
||||
|
||||
ALTER TABLE [Elsa].[WorkflowInstances] ADD [IsSystem] bit NOT NULL DEFAULT CAST(0 AS bit);
|
||||
GO
|
||||
|
||||
ALTER TABLE [Elsa].[WorkflowDefinitions] ADD [IsSystem] bit NOT NULL DEFAULT CAST(0 AS bit);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInstance_IsSystem] ON [Elsa].[WorkflowInstances] ([IsSystem]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowDefinition_IsSystem] ON [Elsa].[WorkflowDefinitions] ([IsSystem]);
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20240312145157_V3_1', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
267
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Runtime/v3.1.sql
Executable file
267
src/modules/Elsa.EntityFrameworkCore.SqlServer/Migrations/Runtime/v3.1.sql
Executable file
|
|
@ -0,0 +1,267 @@
|
|||
IF OBJECT_ID(N'[Elsa].[__EFMigrationsHistory]') IS NULL
|
||||
BEGIN
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
CREATE TABLE [Elsa].[__EFMigrationsHistory] (
|
||||
[MigrationId] nvarchar(150) NOT NULL,
|
||||
[ProductVersion] nvarchar(32) NOT NULL,
|
||||
CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
|
||||
);
|
||||
END;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
IF SCHEMA_ID(N'Elsa') IS NULL EXEC(N'CREATE SCHEMA [Elsa];');
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[ActivityExecutionRecords] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[WorkflowInstanceId] nvarchar(450) NOT NULL,
|
||||
[ActivityId] nvarchar(450) NOT NULL,
|
||||
[ActivityNodeId] nvarchar(450) NOT NULL,
|
||||
[ActivityType] nvarchar(450) NOT NULL,
|
||||
[ActivityTypeVersion] int NOT NULL,
|
||||
[ActivityName] nvarchar(450) NULL,
|
||||
[StartedAt] datetimeoffset NOT NULL,
|
||||
[HasBookmarks] bit NOT NULL,
|
||||
[Status] nvarchar(450) NOT NULL,
|
||||
[CompletedAt] datetimeoffset NULL,
|
||||
[SerializedActivityState] nvarchar(max) NULL,
|
||||
[SerializedException] nvarchar(max) NULL,
|
||||
[SerializedOutputs] nvarchar(max) NULL,
|
||||
[SerializedPayload] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_ActivityExecutionRecords] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[Bookmarks] (
|
||||
[BookmarkId] nvarchar(450) NOT NULL,
|
||||
[ActivityTypeName] nvarchar(450) NOT NULL,
|
||||
[Hash] nvarchar(450) NOT NULL,
|
||||
[WorkflowInstanceId] nvarchar(450) NOT NULL,
|
||||
[ActivityInstanceId] nvarchar(450) NULL,
|
||||
[CorrelationId] nvarchar(max) NULL,
|
||||
[CreatedAt] datetimeoffset NOT NULL,
|
||||
[SerializedMetadata] nvarchar(max) NULL,
|
||||
[SerializedPayload] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_Bookmarks] PRIMARY KEY ([BookmarkId])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[Triggers] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[WorkflowDefinitionId] nvarchar(450) NOT NULL,
|
||||
[WorkflowDefinitionVersionId] nvarchar(450) NOT NULL,
|
||||
[Name] nvarchar(450) NOT NULL,
|
||||
[ActivityId] nvarchar(max) NOT NULL,
|
||||
[Hash] nvarchar(450) NULL,
|
||||
[SerializedPayload] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_Triggers] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[WorkflowExecutionLogRecords] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[WorkflowDefinitionId] nvarchar(450) NOT NULL,
|
||||
[WorkflowDefinitionVersionId] nvarchar(450) NOT NULL,
|
||||
[WorkflowInstanceId] nvarchar(450) NOT NULL,
|
||||
[WorkflowVersion] int NOT NULL,
|
||||
[ActivityInstanceId] nvarchar(450) NOT NULL,
|
||||
[ParentActivityInstanceId] nvarchar(450) NULL,
|
||||
[ActivityId] nvarchar(450) NOT NULL,
|
||||
[ActivityType] nvarchar(450) NOT NULL,
|
||||
[ActivityTypeVersion] int NOT NULL,
|
||||
[ActivityName] nvarchar(450) NULL,
|
||||
[ActivityNodeId] nvarchar(450) NOT NULL,
|
||||
[Timestamp] datetimeoffset NOT NULL,
|
||||
[Sequence] bigint NOT NULL,
|
||||
[EventName] nvarchar(450) NULL,
|
||||
[Message] nvarchar(max) NULL,
|
||||
[Source] nvarchar(max) NULL,
|
||||
[SerializedActivityState] nvarchar(max) NULL,
|
||||
[SerializedPayload] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_WorkflowExecutionLogRecords] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[WorkflowInboxMessages] (
|
||||
[Id] nvarchar(450) NOT NULL,
|
||||
[ActivityTypeName] nvarchar(450) NOT NULL,
|
||||
[Hash] nvarchar(450) NOT NULL,
|
||||
[WorkflowInstanceId] nvarchar(450) NULL,
|
||||
[CorrelationId] nvarchar(450) NULL,
|
||||
[ActivityInstanceId] nvarchar(450) NULL,
|
||||
[CreatedAt] datetimeoffset NOT NULL,
|
||||
[ExpiresAt] datetimeoffset NOT NULL,
|
||||
[SerializedBookmarkPayload] nvarchar(max) NULL,
|
||||
[SerializedInput] nvarchar(max) NULL,
|
||||
CONSTRAINT [PK_WorkflowInboxMessages] PRIMARY KEY ([Id])
|
||||
);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_ActivityId] ON [Elsa].[ActivityExecutionRecords] ([ActivityId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_ActivityName] ON [Elsa].[ActivityExecutionRecords] ([ActivityName]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_ActivityNodeId] ON [Elsa].[ActivityExecutionRecords] ([ActivityNodeId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_ActivityType] ON [Elsa].[ActivityExecutionRecords] ([ActivityType]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_ActivityType_ActivityTypeVersion] ON [Elsa].[ActivityExecutionRecords] ([ActivityType], [ActivityTypeVersion]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_ActivityTypeVersion] ON [Elsa].[ActivityExecutionRecords] ([ActivityTypeVersion]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_CompletedAt] ON [Elsa].[ActivityExecutionRecords] ([CompletedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_HasBookmarks] ON [Elsa].[ActivityExecutionRecords] ([HasBookmarks]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_StartedAt] ON [Elsa].[ActivityExecutionRecords] ([StartedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_Status] ON [Elsa].[ActivityExecutionRecords] ([Status]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_ActivityExecutionRecord_WorkflowInstanceId] ON [Elsa].[ActivityExecutionRecords] ([WorkflowInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredBookmark_ActivityInstanceId] ON [Elsa].[Bookmarks] ([ActivityInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredBookmark_ActivityTypeName] ON [Elsa].[Bookmarks] ([ActivityTypeName]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredBookmark_ActivityTypeName_Hash] ON [Elsa].[Bookmarks] ([ActivityTypeName], [Hash]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredBookmark_ActivityTypeName_Hash_WorkflowInstanceId] ON [Elsa].[Bookmarks] ([ActivityTypeName], [Hash], [WorkflowInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredBookmark_CreatedAt] ON [Elsa].[Bookmarks] ([CreatedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredBookmark_Hash] ON [Elsa].[Bookmarks] ([Hash]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredBookmark_WorkflowInstanceId] ON [Elsa].[Bookmarks] ([WorkflowInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredTrigger_Hash] ON [Elsa].[Triggers] ([Hash]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredTrigger_Name] ON [Elsa].[Triggers] ([Name]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredTrigger_WorkflowDefinitionId] ON [Elsa].[Triggers] ([WorkflowDefinitionId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_StoredTrigger_WorkflowDefinitionVersionId] ON [Elsa].[Triggers] ([WorkflowDefinitionVersionId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ActivityId] ON [Elsa].[WorkflowExecutionLogRecords] ([ActivityId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ActivityInstanceId] ON [Elsa].[WorkflowExecutionLogRecords] ([ActivityInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ActivityName] ON [Elsa].[WorkflowExecutionLogRecords] ([ActivityName]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ActivityNodeId] ON [Elsa].[WorkflowExecutionLogRecords] ([ActivityNodeId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ActivityType] ON [Elsa].[WorkflowExecutionLogRecords] ([ActivityType]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ActivityType_ActivityTypeVersion] ON [Elsa].[WorkflowExecutionLogRecords] ([ActivityType], [ActivityTypeVersion]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ActivityTypeVersion] ON [Elsa].[WorkflowExecutionLogRecords] ([ActivityTypeVersion]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_EventName] ON [Elsa].[WorkflowExecutionLogRecords] ([EventName]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_ParentActivityInstanceId] ON [Elsa].[WorkflowExecutionLogRecords] ([ParentActivityInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_Sequence] ON [Elsa].[WorkflowExecutionLogRecords] ([Sequence]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_Timestamp] ON [Elsa].[WorkflowExecutionLogRecords] ([Timestamp]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_Timestamp_Sequence] ON [Elsa].[WorkflowExecutionLogRecords] ([Timestamp], [Sequence]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_WorkflowDefinitionId] ON [Elsa].[WorkflowExecutionLogRecords] ([WorkflowDefinitionId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_WorkflowDefinitionVersionId] ON [Elsa].[WorkflowExecutionLogRecords] ([WorkflowDefinitionVersionId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_WorkflowInstanceId] ON [Elsa].[WorkflowExecutionLogRecords] ([WorkflowInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowExecutionLogRecord_WorkflowVersion] ON [Elsa].[WorkflowExecutionLogRecords] ([WorkflowVersion]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInboxMessage_ActivityInstanceId] ON [Elsa].[WorkflowInboxMessages] ([ActivityInstanceId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInboxMessage_ActivityTypeName] ON [Elsa].[WorkflowInboxMessages] ([ActivityTypeName]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInboxMessage_CorrelationId] ON [Elsa].[WorkflowInboxMessages] ([CorrelationId]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInboxMessage_CreatedAt] ON [Elsa].[WorkflowInboxMessages] ([CreatedAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInboxMessage_ExpiresAt] ON [Elsa].[WorkflowInboxMessages] ([ExpiresAt]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInboxMessage_Hash] ON [Elsa].[WorkflowInboxMessages] ([Hash]);
|
||||
GO
|
||||
|
||||
CREATE INDEX [IX_WorkflowInboxMessage_WorkflowInstanceId] ON [Elsa].[WorkflowInboxMessages] ([WorkflowInstanceId]);
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20231024160944_Initial', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
GO
|
||||
|
||||
ALTER TABLE [Elsa].[ActivityExecutionRecords] ADD [SerializedActivityStateCompressionAlgorithm] nvarchar(max) NULL;
|
||||
GO
|
||||
|
||||
ALTER TABLE [Elsa].[ActivityExecutionRecords] ADD [SerializedProperties] nvarchar(max) NULL;
|
||||
GO
|
||||
|
||||
CREATE TABLE [Elsa].[KeyValuePairs] (
|
||||
[Key] nvarchar(450) NOT NULL,
|
||||
[SerializedValue] nvarchar(max) NOT NULL,
|
||||
CONSTRAINT [PK_KeyValuePairs] PRIMARY KEY ([Key])
|
||||
);
|
||||
GO
|
||||
|
||||
INSERT INTO [Elsa].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
||||
VALUES (N'20240312145137_V3_1', N'7.0.14');
|
||||
GO
|
||||
|
||||
COMMIT;
|
||||
GO
|
||||
|
||||
131
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Alterations/v3.1.sql
Executable file
131
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Alterations/v3.1.sql
Executable file
|
|
@ -0,0 +1,131 @@
|
|||
CREATE TABLE IF NOT EXISTS "__EFMigrationsHistory" (
|
||||
"MigrationId" TEXT NOT NULL CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY,
|
||||
"ProductVersion" TEXT NOT NULL
|
||||
);
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
CREATE TABLE "AlterationJobs" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_AlterationJobs" PRIMARY KEY,
|
||||
"PlanId" TEXT NOT NULL,
|
||||
"WorkflowInstanceId" TEXT NOT NULL,
|
||||
"Status" INTEGER NOT NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"StartedAt" TEXT NULL,
|
||||
"CompletedAt" TEXT NULL,
|
||||
"SerializedLog" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "AlterationPlans" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_AlterationPlans" PRIMARY KEY,
|
||||
"Status" INTEGER NOT NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"StartedAt" TEXT NULL,
|
||||
"CompletedAt" TEXT NULL,
|
||||
"SerializedAlterations" TEXT NULL,
|
||||
"SerializedWorkflowInstanceIds" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_CompletedAt" ON "AlterationJobs" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_CreatedAt" ON "AlterationJobs" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_PlanId" ON "AlterationJobs" ("PlanId");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_StartedAt" ON "AlterationJobs" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_Status" ON "AlterationJobs" ("Status");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_WorkflowInstanceId" ON "AlterationJobs" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_CompletedAt" ON "AlterationPlans" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_CreatedAt" ON "AlterationPlans" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_StartedAt" ON "AlterationPlans" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_Status" ON "AlterationPlans" ("Status");
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231015122159_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
ALTER TABLE "AlterationPlans" RENAME COLUMN "SerializedWorkflowInstanceIds" TO "SerializedWorkflowInstanceFilter";
|
||||
|
||||
CREATE TABLE "ef_temp_AlterationPlans" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_AlterationPlans" PRIMARY KEY,
|
||||
"CompletedAt" TEXT NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"SerializedAlterations" TEXT NULL,
|
||||
"SerializedWorkflowInstanceFilter" TEXT NULL,
|
||||
"StartedAt" TEXT NULL,
|
||||
"Status" TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO "ef_temp_AlterationPlans" ("Id", "CompletedAt", "CreatedAt", "SerializedAlterations", "SerializedWorkflowInstanceFilter", "StartedAt", "Status")
|
||||
SELECT "Id", "CompletedAt", "CreatedAt", "SerializedAlterations", "SerializedWorkflowInstanceFilter", "StartedAt", "Status"
|
||||
FROM "AlterationPlans";
|
||||
|
||||
CREATE TABLE "ef_temp_AlterationJobs" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_AlterationJobs" PRIMARY KEY,
|
||||
"CompletedAt" TEXT NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"PlanId" TEXT NOT NULL,
|
||||
"SerializedLog" TEXT NULL,
|
||||
"StartedAt" TEXT NULL,
|
||||
"Status" TEXT NOT NULL,
|
||||
"WorkflowInstanceId" TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO "ef_temp_AlterationJobs" ("Id", "CompletedAt", "CreatedAt", "PlanId", "SerializedLog", "StartedAt", "Status", "WorkflowInstanceId")
|
||||
SELECT "Id", "CompletedAt", "CreatedAt", "PlanId", "SerializedLog", "StartedAt", "Status", "WorkflowInstanceId"
|
||||
FROM "AlterationJobs";
|
||||
|
||||
COMMIT;
|
||||
|
||||
PRAGMA foreign_keys = 0;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
DROP TABLE "AlterationPlans";
|
||||
|
||||
ALTER TABLE "ef_temp_AlterationPlans" RENAME TO "AlterationPlans";
|
||||
|
||||
DROP TABLE "AlterationJobs";
|
||||
|
||||
ALTER TABLE "ef_temp_AlterationJobs" RENAME TO "AlterationJobs";
|
||||
|
||||
COMMIT;
|
||||
|
||||
PRAGMA foreign_keys = 1;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_CompletedAt" ON "AlterationPlans" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_CreatedAt" ON "AlterationPlans" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_StartedAt" ON "AlterationPlans" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationPlan_Status" ON "AlterationPlans" ("Status");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_CompletedAt" ON "AlterationJobs" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_CreatedAt" ON "AlterationJobs" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_PlanId" ON "AlterationJobs" ("PlanId");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_StartedAt" ON "AlterationJobs" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_Status" ON "AlterationJobs" ("Status");
|
||||
|
||||
CREATE INDEX "IX_AlterationJob_WorkflowInstanceId" ON "AlterationJobs" ("WorkflowInstanceId");
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145121_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
52
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Identity/v3.1.sql
Executable file
52
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Identity/v3.1.sql
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
CREATE TABLE IF NOT EXISTS "__EFMigrationsHistory" (
|
||||
"MigrationId" TEXT NOT NULL CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY,
|
||||
"ProductVersion" TEXT NOT NULL
|
||||
);
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
CREATE TABLE "Applications" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_Applications" PRIMARY KEY,
|
||||
"ClientId" TEXT NOT NULL,
|
||||
"HashedClientSecret" TEXT NOT NULL,
|
||||
"HashedClientSecretSalt" TEXT NOT NULL,
|
||||
"Name" TEXT NOT NULL,
|
||||
"HashedApiKey" TEXT NOT NULL,
|
||||
"HashedApiKeySalt" TEXT NOT NULL,
|
||||
"Roles" TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "Roles" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_Roles" PRIMARY KEY,
|
||||
"Name" TEXT NOT NULL,
|
||||
"Permissions" TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "Users" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_Users" PRIMARY KEY,
|
||||
"Name" TEXT NOT NULL,
|
||||
"HashedPassword" TEXT NOT NULL,
|
||||
"HashedPasswordSalt" TEXT NOT NULL,
|
||||
"Roles" TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX "IX_Application_ClientId" ON "Applications" ("ClientId");
|
||||
|
||||
CREATE UNIQUE INDEX "IX_Application_Name" ON "Applications" ("Name");
|
||||
|
||||
CREATE UNIQUE INDEX "IX_Role_Name" ON "Roles" ("Name");
|
||||
|
||||
CREATE UNIQUE INDEX "IX_User_Name" ON "Users" ("Name");
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231015122246_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145221_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
101
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Management/v3.1.sql
Executable file
101
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Management/v3.1.sql
Executable file
|
|
@ -0,0 +1,101 @@
|
|||
CREATE TABLE IF NOT EXISTS "__EFMigrationsHistory" (
|
||||
"MigrationId" TEXT NOT NULL CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY,
|
||||
"ProductVersion" TEXT NOT NULL
|
||||
);
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
CREATE TABLE "WorkflowDefinitions" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_WorkflowDefinitions" PRIMARY KEY,
|
||||
"DefinitionId" TEXT NOT NULL,
|
||||
"Name" TEXT NULL,
|
||||
"Description" TEXT NULL,
|
||||
"ToolVersion" TEXT NULL,
|
||||
"ProviderName" TEXT NULL,
|
||||
"MaterializerName" TEXT NOT NULL,
|
||||
"MaterializerContext" TEXT NULL,
|
||||
"StringData" TEXT NULL,
|
||||
"BinaryData" BLOB NULL,
|
||||
"IsReadonly" INTEGER NOT NULL,
|
||||
"Data" TEXT NULL,
|
||||
"UsableAsActivity" INTEGER NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"Version" INTEGER NOT NULL,
|
||||
"IsLatest" INTEGER NOT NULL,
|
||||
"IsPublished" INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "WorkflowInstances" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_WorkflowInstances" PRIMARY KEY,
|
||||
"DefinitionId" TEXT NOT NULL,
|
||||
"DefinitionVersionId" TEXT NOT NULL,
|
||||
"Version" INTEGER NOT NULL,
|
||||
"Status" TEXT NOT NULL,
|
||||
"SubStatus" TEXT NOT NULL,
|
||||
"CorrelationId" TEXT NULL,
|
||||
"Name" TEXT NULL,
|
||||
"IncidentCount" INTEGER NOT NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"UpdatedAt" TEXT NOT NULL,
|
||||
"FinishedAt" TEXT NULL,
|
||||
"Data" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX "IX_WorkflowDefinition_DefinitionId_Version" 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_UsableAsActivity" ON "WorkflowDefinitions" ("UsableAsActivity");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_Version" ON "WorkflowDefinitions" ("Version");
|
||||
|
||||
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_FinishedAt" ON "WorkflowInstances" ("FinishedAt");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Name" ON "WorkflowInstances" ("Name");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status" ON "WorkflowInstances" ("Status");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status_DefinitionId" ON "WorkflowInstances" ("Status", "DefinitionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status_SubStatus" ON "WorkflowInstances" ("Status", "SubStatus");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_Status_SubStatus_DefinitionId_Version" ON "WorkflowInstances" ("Status", "SubStatus", "DefinitionId", "Version");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_SubStatus" ON "WorkflowInstances" ("SubStatus");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_SubStatus_DefinitionId" ON "WorkflowInstances" ("SubStatus", "DefinitionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_UpdatedAt" ON "WorkflowInstances" ("UpdatedAt");
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231015122231_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
ALTER TABLE "WorkflowInstances" ADD "DataCompressionAlgorithm" TEXT NULL;
|
||||
|
||||
ALTER TABLE "WorkflowInstances" ADD "IsSystem" INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
ALTER TABLE "WorkflowDefinitions" ADD "IsSystem" INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
CREATE INDEX "IX_WorkflowInstance_IsSystem" ON "WorkflowInstances" ("IsSystem");
|
||||
|
||||
CREATE INDEX "IX_WorkflowDefinition_IsSystem" ON "WorkflowDefinitions" ("IsSystem");
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145202_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
193
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Runtime/v3.1.sql
Executable file
193
src/modules/Elsa.EntityFrameworkCore.Sqlite/Migrations/Runtime/v3.1.sql
Executable file
|
|
@ -0,0 +1,193 @@
|
|||
CREATE TABLE IF NOT EXISTS "__EFMigrationsHistory" (
|
||||
"MigrationId" TEXT NOT NULL CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY,
|
||||
"ProductVersion" TEXT NOT NULL
|
||||
);
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
CREATE TABLE "ActivityExecutionRecords" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_ActivityExecutionRecords" PRIMARY KEY,
|
||||
"WorkflowInstanceId" TEXT NOT NULL,
|
||||
"ActivityId" TEXT NOT NULL,
|
||||
"ActivityNodeId" TEXT NOT NULL,
|
||||
"ActivityType" TEXT NOT NULL,
|
||||
"ActivityTypeVersion" INTEGER NOT NULL,
|
||||
"ActivityName" TEXT NULL,
|
||||
"StartedAt" TEXT NOT NULL,
|
||||
"HasBookmarks" INTEGER NOT NULL,
|
||||
"Status" TEXT NOT NULL,
|
||||
"CompletedAt" TEXT NULL,
|
||||
"SerializedActivityState" TEXT NULL,
|
||||
"SerializedException" TEXT NULL,
|
||||
"SerializedOutputs" TEXT NULL,
|
||||
"SerializedPayload" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "Bookmarks" (
|
||||
"BookmarkId" TEXT NOT NULL CONSTRAINT "PK_Bookmarks" PRIMARY KEY,
|
||||
"ActivityTypeName" TEXT NOT NULL,
|
||||
"Hash" TEXT NOT NULL,
|
||||
"WorkflowInstanceId" TEXT NOT NULL,
|
||||
"ActivityInstanceId" TEXT NULL,
|
||||
"CorrelationId" TEXT NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"SerializedMetadata" TEXT NULL,
|
||||
"SerializedPayload" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "Triggers" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_Triggers" PRIMARY KEY,
|
||||
"WorkflowDefinitionId" TEXT NOT NULL,
|
||||
"WorkflowDefinitionVersionId" TEXT NOT NULL,
|
||||
"Name" TEXT NOT NULL,
|
||||
"ActivityId" TEXT NOT NULL,
|
||||
"Hash" TEXT NULL,
|
||||
"SerializedPayload" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "WorkflowExecutionLogRecords" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_WorkflowExecutionLogRecords" PRIMARY KEY,
|
||||
"WorkflowDefinitionId" TEXT NOT NULL,
|
||||
"WorkflowDefinitionVersionId" TEXT NOT NULL,
|
||||
"WorkflowInstanceId" TEXT NOT NULL,
|
||||
"WorkflowVersion" INTEGER NOT NULL,
|
||||
"ActivityInstanceId" TEXT NOT NULL,
|
||||
"ParentActivityInstanceId" TEXT NULL,
|
||||
"ActivityId" TEXT NOT NULL,
|
||||
"ActivityType" TEXT NOT NULL,
|
||||
"ActivityTypeVersion" INTEGER NOT NULL,
|
||||
"ActivityName" TEXT NULL,
|
||||
"ActivityNodeId" TEXT NOT NULL,
|
||||
"Timestamp" TEXT NOT NULL,
|
||||
"Sequence" INTEGER NOT NULL,
|
||||
"EventName" TEXT NULL,
|
||||
"Message" TEXT NULL,
|
||||
"Source" TEXT NULL,
|
||||
"SerializedActivityState" TEXT NULL,
|
||||
"SerializedPayload" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "WorkflowInboxMessages" (
|
||||
"Id" TEXT NOT NULL CONSTRAINT "PK_WorkflowInboxMessages" PRIMARY KEY,
|
||||
"ActivityTypeName" TEXT NOT NULL,
|
||||
"Hash" TEXT NOT NULL,
|
||||
"WorkflowInstanceId" TEXT NULL,
|
||||
"CorrelationId" TEXT NULL,
|
||||
"ActivityInstanceId" TEXT NULL,
|
||||
"CreatedAt" TEXT NOT NULL,
|
||||
"ExpiresAt" TEXT NOT NULL,
|
||||
"SerializedBookmarkPayload" TEXT NULL,
|
||||
"SerializedInput" TEXT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityId" ON "ActivityExecutionRecords" ("ActivityId");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityName" ON "ActivityExecutionRecords" ("ActivityName");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityNodeId" ON "ActivityExecutionRecords" ("ActivityNodeId");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityType" ON "ActivityExecutionRecords" ("ActivityType");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityType_ActivityTypeVersion" ON "ActivityExecutionRecords" ("ActivityType", "ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_ActivityTypeVersion" ON "ActivityExecutionRecords" ("ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_CompletedAt" ON "ActivityExecutionRecords" ("CompletedAt");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_HasBookmarks" ON "ActivityExecutionRecords" ("HasBookmarks");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_StartedAt" ON "ActivityExecutionRecords" ("StartedAt");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_Status" ON "ActivityExecutionRecords" ("Status");
|
||||
|
||||
CREATE INDEX "IX_ActivityExecutionRecord_WorkflowInstanceId" ON "ActivityExecutionRecords" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityInstanceId" ON "Bookmarks" ("ActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityTypeName" ON "Bookmarks" ("ActivityTypeName");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityTypeName_Hash" ON "Bookmarks" ("ActivityTypeName", "Hash");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_ActivityTypeName_Hash_WorkflowInstanceId" ON "Bookmarks" ("ActivityTypeName", "Hash", "WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_CreatedAt" ON "Bookmarks" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_Hash" ON "Bookmarks" ("Hash");
|
||||
|
||||
CREATE INDEX "IX_StoredBookmark_WorkflowInstanceId" ON "Bookmarks" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_Hash" ON "Triggers" ("Hash");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_Name" ON "Triggers" ("Name");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_WorkflowDefinitionId" ON "Triggers" ("WorkflowDefinitionId");
|
||||
|
||||
CREATE INDEX "IX_StoredTrigger_WorkflowDefinitionVersionId" ON "Triggers" ("WorkflowDefinitionVersionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityId" ON "WorkflowExecutionLogRecords" ("ActivityId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityInstanceId" ON "WorkflowExecutionLogRecords" ("ActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityName" ON "WorkflowExecutionLogRecords" ("ActivityName");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityNodeId" ON "WorkflowExecutionLogRecords" ("ActivityNodeId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityType" ON "WorkflowExecutionLogRecords" ("ActivityType");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityType_ActivityTypeVersion" ON "WorkflowExecutionLogRecords" ("ActivityType", "ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ActivityTypeVersion" ON "WorkflowExecutionLogRecords" ("ActivityTypeVersion");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_EventName" ON "WorkflowExecutionLogRecords" ("EventName");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_ParentActivityInstanceId" ON "WorkflowExecutionLogRecords" ("ParentActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_Sequence" ON "WorkflowExecutionLogRecords" ("Sequence");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_Timestamp" ON "WorkflowExecutionLogRecords" ("Timestamp");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_Timestamp_Sequence" ON "WorkflowExecutionLogRecords" ("Timestamp", "Sequence");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowDefinitionId" ON "WorkflowExecutionLogRecords" ("WorkflowDefinitionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowDefinitionVersionId" ON "WorkflowExecutionLogRecords" ("WorkflowDefinitionVersionId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowInstanceId" ON "WorkflowExecutionLogRecords" ("WorkflowInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowExecutionLogRecord_WorkflowVersion" ON "WorkflowExecutionLogRecords" ("WorkflowVersion");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_ActivityInstanceId" ON "WorkflowInboxMessages" ("ActivityInstanceId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_ActivityTypeName" ON "WorkflowInboxMessages" ("ActivityTypeName");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_CorrelationId" ON "WorkflowInboxMessages" ("CorrelationId");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_CreatedAt" ON "WorkflowInboxMessages" ("CreatedAt");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_ExpiresAt" ON "WorkflowInboxMessages" ("ExpiresAt");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_Hash" ON "WorkflowInboxMessages" ("Hash");
|
||||
|
||||
CREATE INDEX "IX_WorkflowInboxMessage_WorkflowInstanceId" ON "WorkflowInboxMessages" ("WorkflowInstanceId");
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20231024160948_Initial', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
ALTER TABLE "ActivityExecutionRecords" ADD "SerializedActivityStateCompressionAlgorithm" TEXT NULL;
|
||||
|
||||
ALTER TABLE "ActivityExecutionRecords" ADD "SerializedProperties" TEXT NULL;
|
||||
|
||||
CREATE TABLE "KeyValuePairs" (
|
||||
"Key" TEXT NOT NULL CONSTRAINT "PK_KeyValuePairs" PRIMARY KEY,
|
||||
"SerializedValue" TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
||||
VALUES ('20240312145142_V3_1', '7.0.14');
|
||||
|
||||
COMMIT;
|
||||
|
||||
Loading…
Reference in a new issue