2023-06-06 18:49:14 +00:00
|
|
|
using FluentMigrator;
|
2023-06-06 19:43:53 +00:00
|
|
|
using JetBrains.Annotations;
|
2023-06-06 18:49:14 +00:00
|
|
|
|
|
|
|
|
namespace Elsa.Dapper.Migrations.Management;
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
[Migration(10001, "Elsa:Management:Initial")]
|
2023-06-06 19:43:53 +00:00
|
|
|
[PublicAPI]
|
2023-06-06 18:49:14 +00:00
|
|
|
public class Initial : Migration
|
|
|
|
|
{
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
public override void Up()
|
|
|
|
|
{
|
|
|
|
|
IfDatabase("SqlServer", "Oracle", "MySql", "Postgres")
|
|
|
|
|
.Create
|
|
|
|
|
.Table("WorkflowDefinitions")
|
|
|
|
|
.WithColumn("Id").AsString().PrimaryKey()
|
|
|
|
|
.WithColumn("DefinitionId").AsString().NotNullable()
|
|
|
|
|
.WithColumn("Name").AsString().Nullable()
|
2023-07-06 13:48:28 +00:00
|
|
|
.WithColumn("ToolVersion").AsString().Nullable()
|
2023-06-06 18:49:14 +00:00
|
|
|
.WithColumn("Description").AsString().Nullable()
|
|
|
|
|
.WithColumn("ProviderName").AsString().Nullable()
|
|
|
|
|
.WithColumn("MaterializerName").AsString().NotNullable()
|
|
|
|
|
.WithColumn("MaterializerContext").AsString().Nullable()
|
|
|
|
|
.WithColumn("Props").AsString().NotNullable()
|
|
|
|
|
.WithColumn("UsableAsActivity").AsBoolean().Nullable()
|
|
|
|
|
.WithColumn("StringData").AsString().Nullable()
|
|
|
|
|
.WithColumn("BinaryData").AsBinary().Nullable()
|
|
|
|
|
.WithColumn("CreatedAt").AsDateTimeOffset().NotNullable()
|
|
|
|
|
.WithColumn("Version").AsInt32().NotNullable()
|
|
|
|
|
.WithColumn("IsLatest").AsBoolean().NotNullable()
|
2023-06-12 09:12:18 +00:00
|
|
|
.WithColumn("IsReadonly").AsBoolean().NotNullable()
|
2023-06-06 18:49:14 +00:00
|
|
|
.WithColumn("IsPublished").AsBoolean().NotNullable();
|
2023-06-12 09:12:18 +00:00
|
|
|
|
2023-06-06 18:49:14 +00:00
|
|
|
|
|
|
|
|
IfDatabase("Sqlite")
|
|
|
|
|
.Create
|
|
|
|
|
.Table("WorkflowDefinitions")
|
|
|
|
|
.WithColumn("Id").AsString().PrimaryKey()
|
|
|
|
|
.WithColumn("DefinitionId").AsString().NotNullable()
|
|
|
|
|
.WithColumn("Name").AsString().Nullable()
|
2023-08-30 20:01:25 +00:00
|
|
|
.WithColumn("ToolVersion").AsString().Nullable()
|
2023-06-06 18:49:14 +00:00
|
|
|
.WithColumn("Description").AsString().Nullable()
|
|
|
|
|
.WithColumn("ProviderName").AsString().Nullable()
|
|
|
|
|
.WithColumn("MaterializerName").AsString().NotNullable()
|
|
|
|
|
.WithColumn("MaterializerContext").AsString().Nullable()
|
|
|
|
|
.WithColumn("Props").AsString().NotNullable()
|
|
|
|
|
.WithColumn("UsableAsActivity").AsBoolean().Nullable()
|
|
|
|
|
.WithColumn("StringData").AsString().Nullable()
|
|
|
|
|
.WithColumn("BinaryData").AsBinary().Nullable()
|
|
|
|
|
.WithColumn("CreatedAt").AsDateTime2().NotNullable()
|
|
|
|
|
.WithColumn("Version").AsInt32().NotNullable()
|
|
|
|
|
.WithColumn("IsLatest").AsBoolean().NotNullable()
|
2023-06-12 09:12:18 +00:00
|
|
|
.WithColumn("IsReadonly").AsBoolean().NotNullable()
|
2023-06-06 18:49:14 +00:00
|
|
|
.WithColumn("IsPublished").AsBoolean().NotNullable();
|
|
|
|
|
|
|
|
|
|
IfDatabase("SqlServer", "Oracle", "MySql", "Postgres")
|
|
|
|
|
.Create
|
|
|
|
|
.Table("WorkflowInstances")
|
|
|
|
|
.WithColumn("Id").AsString().PrimaryKey()
|
|
|
|
|
.WithColumn("DefinitionId").AsString().NotNullable()
|
|
|
|
|
.WithColumn("DefinitionVersionId").AsString().NotNullable()
|
|
|
|
|
.WithColumn("Version").AsInt32().NotNullable()
|
|
|
|
|
.WithColumn("WorkflowState").AsString().NotNullable()
|
|
|
|
|
.WithColumn("Status").AsString().NotNullable()
|
|
|
|
|
.WithColumn("SubStatus").AsString().NotNullable()
|
|
|
|
|
.WithColumn("CorrelationId").AsString().Nullable()
|
|
|
|
|
.WithColumn("Name").AsString().Nullable()
|
|
|
|
|
.WithColumn("CreatedAt").AsDateTimeOffset().NotNullable()
|
2023-07-21 15:52:52 +00:00
|
|
|
.WithColumn("UpdatedAt").AsDateTimeOffset().Nullable()
|
|
|
|
|
.WithColumn("FinishedAt").AsDateTimeOffset().Nullable();
|
2023-06-06 18:49:14 +00:00
|
|
|
|
|
|
|
|
IfDatabase("Sqlite")
|
|
|
|
|
.Create
|
|
|
|
|
.Table("WorkflowInstances")
|
|
|
|
|
.WithColumn("Id").AsString().PrimaryKey()
|
|
|
|
|
.WithColumn("DefinitionId").AsString().NotNullable()
|
|
|
|
|
.WithColumn("DefinitionVersionId").AsString().NotNullable()
|
|
|
|
|
.WithColumn("Version").AsInt32().NotNullable()
|
|
|
|
|
.WithColumn("WorkflowState").AsString().NotNullable()
|
|
|
|
|
.WithColumn("Status").AsString().NotNullable()
|
|
|
|
|
.WithColumn("SubStatus").AsString().NotNullable()
|
|
|
|
|
.WithColumn("CorrelationId").AsString().Nullable()
|
|
|
|
|
.WithColumn("Name").AsString().Nullable()
|
|
|
|
|
.WithColumn("CreatedAt").AsDateTime2().NotNullable()
|
2023-07-21 15:52:52 +00:00
|
|
|
.WithColumn("UpdatedAt").AsDateTime2().Nullable()
|
|
|
|
|
.WithColumn("FinishedAt").AsDateTime2().Nullable();
|
2023-06-06 18:49:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
public override void Down()
|
|
|
|
|
{
|
|
|
|
|
Delete.Table("WorkflowDefinitions");
|
|
|
|
|
Delete.Table("WorkflowInstances");
|
|
|
|
|
}
|
|
|
|
|
}
|