feat(dal): заготовка для хранения истории

This commit is contained in:
Mikhail Trubnikov
2024-10-07 15:08:46 +10:00
parent 5c03b6bc81
commit 4ec47b1dcb
15 changed files with 7144 additions and 84 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class tblParrComponents : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "ParrComponents",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false),
Name = table.Column<string>(type: "text", nullable: false),
Description = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ParrComponents", x => x.Id);
});
migrationBuilder.InsertData(
table: "ParrComponents",
columns: new[] { "Id", "Description", "Name" },
values: new object[,]
{
{ 0, "API", "Api" },
{ 1, "Загрузчик из АИХИТ", "AihitLoader" },
{ 2, "Синхронизатор АИХИТ", "AihitSyncer" },
{ 3, "Загрузчик нарядов из ЕСПП", "EsppOrderLoader" },
{ 4, "Управление нарядами ЕСПП", "EsppOrderManager" },
{ 5, "Синхронизатор расписаний", "EsppScheduleSync" },
{ 6, "Синхронизатор шаблонов", "EsppTemplateSync" },
{ 7, "Генератор шаблонов", "GeneratorTemplates" },
{ 8, "Авто-контроль РР", "JobAutoControl" },
{ 9, "Связывание нарядов ЕСПП с ПАРР (шаблонами, агентами)", "Master" },
{ 10, "Рассчет даты следующего срабатывания", "NextRun" },
{ 11, "Активатор шаблонов / расписаний", "TemplateActivator" },
{ 12, "Автораспределение РР", "TemplateDistributor" }
});
migrationBuilder.CreateIndex(
name: "IX_ParrComponents_Name",
table: "ParrComponents",
column: "Name",
unique: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "ParrComponents");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,85 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class tblTemplateHistory : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "InitiatorComment",
table: "Templates",
type: "text",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "InitiatorIp",
table: "Templates",
type: "text",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "InitiatorParrComponentId",
table: "Templates",
type: "integer",
nullable: true);
migrationBuilder.CreateTable(
name: "TemplateHistories",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
ParentId = table.Column<Guid>(type: "uuid", nullable: false),
DateAddedToHistory = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
InitiatorIp = table.Column<string>(type: "text", nullable: true),
InitiatorParrComponentId = table.Column<int>(type: "integer", nullable: true),
InitiatorComment = table.Column<string>(type: "text", nullable: true),
DateModified = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
Name = table.Column<string>(type: "text", nullable: false),
IsActiveTemplate = table.Column<bool>(type: "boolean", nullable: false),
IsActiveSchedule = table.Column<bool>(type: "boolean", nullable: false),
LastRun = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
NextRun = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_TemplateHistories", x => x.Id);
table.ForeignKey(
name: "FK_TemplateHistories_Templates_ParentId",
column: x => x.ParentId,
principalTable: "Templates",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_TemplateHistories_ParentId",
table: "TemplateHistories",
column: "ParentId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "TemplateHistories");
migrationBuilder.DropColumn(
name: "InitiatorComment",
table: "Templates");
migrationBuilder.DropColumn(
name: "InitiatorIp",
table: "Templates");
migrationBuilder.DropColumn(
name: "InitiatorParrComponentId",
table: "Templates");
}
}
}

View File

@@ -51,7 +51,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TemplateId");
b.ToTable("AgentHistories", (string)null);
b.ToTable("AgentHistories");
});
modelBuilder.Entity("PARR.DAL.Models.AgentHistoryLevel", b =>
@@ -72,7 +72,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.ToTable("AgentHistoryLevels", (string)null);
b.ToTable("AgentHistoryLevels");
b.HasData(
new
@@ -101,7 +101,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("WorkGroupId");
b.ToTable("AppInWorkInWorkGroups", (string)null);
b.ToTable("AppInWorkInWorkGroups");
});
modelBuilder.Entity("PARR.DAL.Models.Application", b =>
@@ -130,7 +130,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("Name", "ApplicationTypeId")
.IsUnique();
b.ToTable("Applications", (string)null);
b.ToTable("Applications");
});
modelBuilder.Entity("PARR.DAL.Models.ApplicationInHost", b =>
@@ -157,7 +157,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("HostId");
b.ToTable("ApplicationsInHost", (string)null);
b.ToTable("ApplicationsInHost");
});
modelBuilder.Entity("PARR.DAL.Models.ApplicationType", b =>
@@ -181,7 +181,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.ToTable("ApplicationTypes", (string)null);
b.ToTable("ApplicationTypes");
b.HasData(
new
@@ -294,7 +294,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("WorkId", "ApplicationId")
.IsUnique();
b.ToTable("ApplicationsInWorks", (string)null);
b.ToTable("ApplicationsInWorks");
});
modelBuilder.Entity("PARR.DAL.Models.DistributionPeriod", b =>
@@ -319,7 +319,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("Type");
b.ToTable("DistributionPeriods", (string)null);
b.ToTable("DistributionPeriods");
b.HasData(
new
@@ -349,7 +349,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Type");
b.ToTable("DistributionPeriodTypes", (string)null);
b.ToTable("DistributionPeriodTypes");
b.HasData(
new
@@ -383,7 +383,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Code");
b.ToTable("EkStatuses", (string)null);
b.ToTable("EkStatuses");
b.HasData(
new
@@ -446,7 +446,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.ToTable("EsppSchTypes", (string)null);
b.ToTable("EsppSchTypes");
b.HasData(
new
@@ -515,7 +515,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TypeScheduleId", "TypeId")
.IsUnique();
b.ToTable("EsppSchTypeConfigs", (string)null);
b.ToTable("EsppSchTypeConfigs");
b.HasData(
new
@@ -618,7 +618,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.ToTable("EsppSchTypeSchedules", (string)null);
b.ToTable("EsppSchTypeSchedules");
b.HasData(
new
@@ -691,7 +691,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TypeId");
b.ToTable("EsppSchTypeValues", (string)null);
b.ToTable("EsppSchTypeValues");
b.HasData(
new
@@ -1492,7 +1492,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TypeValueId");
b.ToTable("EsppSchValues", (string)null);
b.ToTable("EsppSchValues");
});
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
@@ -1539,7 +1539,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("WorkGroupId");
b.ToTable("Hosts", (string)null);
b.ToTable("Hosts");
});
modelBuilder.Entity("PARR.DAL.Models.JobAutoControl", b =>
@@ -1583,7 +1583,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("ApplicationInWorkId")
.IsUnique();
b.ToTable("JobAutoControls", (string)null);
b.ToTable("JobAutoControls");
});
modelBuilder.Entity("PARR.DAL.Models.JobAutoControlInEkStatus", b =>
@@ -1598,7 +1598,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("EkStatusCode");
b.ToTable("JobAutoControlInEkStatus", (string)null);
b.ToTable("JobAutoControlInEkStatus");
});
modelBuilder.Entity("PARR.DAL.Models.JobEkMask", b =>
@@ -1622,7 +1622,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("JobAutoControlId", "Name")
.IsUnique();
b.ToTable("JobEkMasks", (string)null);
b.ToTable("JobEkMasks");
});
modelBuilder.Entity("PARR.DAL.Models.Order", b =>
@@ -1674,7 +1674,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TemplateId");
b.ToTable("Orders", (string)null);
b.ToTable("Orders");
});
modelBuilder.Entity("PARR.DAL.Models.OrderStatus", b =>
@@ -1695,7 +1695,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Code");
b.ToTable("OrderStatuses", (string)null);
b.ToTable("OrderStatuses");
b.HasData(
new
@@ -1730,6 +1730,107 @@ namespace PARR.DAL.Migrations
});
});
modelBuilder.Entity("PARR.DAL.Models.ParrComponent", b =>
{
b.Property<int>("Id")
.HasColumnType("integer");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("ParrComponents");
b.HasData(
new
{
Id = 0,
Description = "API",
Name = "Api"
},
new
{
Id = 1,
Description = "Загрузчик из АИХИТ",
Name = "AihitLoader"
},
new
{
Id = 2,
Description = "Синхронизатор АИХИТ",
Name = "AihitSyncer"
},
new
{
Id = 3,
Description = "Загрузчик нарядов из ЕСПП",
Name = "EsppOrderLoader"
},
new
{
Id = 4,
Description = "Управление нарядами ЕСПП",
Name = "EsppOrderManager"
},
new
{
Id = 5,
Description = "Синхронизатор расписаний",
Name = "EsppScheduleSync"
},
new
{
Id = 6,
Description = "Синхронизатор шаблонов",
Name = "EsppTemplateSync"
},
new
{
Id = 7,
Description = "Генератор шаблонов",
Name = "GeneratorTemplates"
},
new
{
Id = 8,
Description = "Авто-контроль РР",
Name = "JobAutoControl"
},
new
{
Id = 9,
Description = "Связывание нарядов ЕСПП с ПАРР (шаблонами, агентами)",
Name = "Master"
},
new
{
Id = 10,
Description = "Рассчет даты следующего срабатывания",
Name = "NextRun"
},
new
{
Id = 11,
Description = "Активатор шаблонов / расписаний",
Name = "TemplateActivator"
},
new
{
Id = 12,
Description = "Автораспределение РР",
Name = "TemplateDistributor"
});
});
modelBuilder.Entity("PARR.DAL.Models.Process", b =>
{
b.Property<Guid>("Id")
@@ -1754,7 +1855,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("EsppId")
.IsUnique();
b.ToTable("Processes", (string)null);
b.ToTable("Processes");
});
modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
@@ -1771,7 +1872,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Code");
b.ToTable("ResponseAreas", (string)null);
b.ToTable("ResponseAreas");
b.HasData(
new
@@ -1897,7 +1998,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("Name")
.IsUnique();
b.ToTable("Robots", (string)null);
b.ToTable("Robots");
b.HasData(
new
@@ -1952,7 +2053,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TemplateId", "RobotCode")
.IsUnique();
b.ToTable("RobotConfigurations", (string)null);
b.ToTable("RobotConfigurations");
});
modelBuilder.Entity("PARR.DAL.Models.RobotHistory", b =>
@@ -1990,7 +2091,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TaskStatusCode");
b.ToTable("RobotHistories", (string)null);
b.ToTable("RobotHistories");
});
modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
@@ -2011,7 +2112,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Level");
b.ToTable("RobotHistoryLevels", (string)null);
b.ToTable("RobotHistoryLevels");
b.HasData(
new
@@ -2058,7 +2159,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Code");
b.ToTable("RobotStatuses", (string)null);
b.ToTable("RobotStatuses");
b.HasData(
new
@@ -2106,7 +2207,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.ToTable("Roles", (string)null);
b.ToTable("Roles");
b.HasData(
new
@@ -2140,7 +2241,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Name");
b.ToTable("Settings", (string)null);
b.ToTable("Settings");
b.HasData(
new
@@ -2246,7 +2347,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("ProcessId");
b.ToTable("Subprocesses", (string)null);
b.ToTable("Subprocesses");
});
modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
@@ -2267,7 +2368,7 @@ namespace PARR.DAL.Migrations
b.HasKey("Code");
b.ToTable("TaskStatuses", (string)null);
b.ToTable("TaskStatuses");
b.HasData(
new
@@ -2308,6 +2409,15 @@ namespace PARR.DAL.Migrations
b.Property<Guid>("HostId")
.HasColumnType("uuid");
b.Property<string>("InitiatorComment")
.HasColumnType("text");
b.Property<string>("InitiatorIp")
.HasColumnType("text");
b.Property<int?>("InitiatorParrComponentId")
.HasColumnType("integer");
b.Property<bool>("IsActiveSchedule")
.HasColumnType("boolean");
@@ -2336,7 +2446,54 @@ namespace PARR.DAL.Migrations
b.HasIndex("Name")
.IsUnique();
b.ToTable("Templates", (string)null);
b.ToTable("Templates");
});
modelBuilder.Entity("PARR.DAL.Models.TemplateHistory", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<DateTimeOffset>("DateAddedToHistory")
.HasColumnType("timestamp with time zone");
b.Property<DateTimeOffset?>("DateModified")
.HasColumnType("timestamp with time zone");
b.Property<string>("InitiatorComment")
.HasColumnType("text");
b.Property<string>("InitiatorIp")
.HasColumnType("text");
b.Property<int?>("InitiatorParrComponentId")
.HasColumnType("integer");
b.Property<bool>("IsActiveSchedule")
.HasColumnType("boolean");
b.Property<bool>("IsActiveTemplate")
.HasColumnType("boolean");
b.Property<DateTimeOffset?>("LastRun")
.HasColumnType("timestamp with time zone");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<DateTimeOffset>("NextRun")
.HasColumnType("timestamp with time zone");
b.Property<Guid>("ParentId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("ParentId");
b.ToTable("TemplateHistories");
});
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
@@ -2368,7 +2525,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("SubprocessId");
b.ToTable("Tnks", (string)null);
b.ToTable("Tnks");
});
modelBuilder.Entity("PARR.DAL.Models.User", b =>
@@ -2399,7 +2556,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("Ip")
.IsUnique();
b.ToTable("Users", (string)null);
b.ToTable("Users");
});
modelBuilder.Entity("PARR.DAL.Models.UsersInRole", b =>
@@ -2414,7 +2571,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("UserId");
b.ToTable("UsersInRoles", (string)null);
b.ToTable("UsersInRoles");
});
modelBuilder.Entity("PARR.DAL.Models.WeekendDay", b =>
@@ -2431,7 +2588,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("Date")
.IsUnique();
b.ToTable("WeekendDays", (string)null);
b.ToTable("WeekendDays");
});
modelBuilder.Entity("PARR.DAL.Models.Work", b =>
@@ -2466,7 +2623,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("TnkId");
b.ToTable("Works", (string)null);
b.ToTable("Works");
});
modelBuilder.Entity("PARR.DAL.Models.WorkGroup", b =>
@@ -2489,7 +2646,7 @@ namespace PARR.DAL.Migrations
b.HasIndex("ResponseAreaCode");
b.ToTable("WorkGroups", (string)null);
b.ToTable("WorkGroups");
});
modelBuilder.Entity("PARR.DAL.Models.AgentHistory", b =>
@@ -2840,6 +2997,17 @@ namespace PARR.DAL.Migrations
b.Navigation("Host");
});
modelBuilder.Entity("PARR.DAL.Models.TemplateHistory", b =>
{
b.HasOne("PARR.DAL.Models.Template", "Template")
.WithMany("TemplateHistories")
.HasForeignKey("ParentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Template");
});
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
{
b.HasOne("PARR.DAL.Models.Subprocess", "Subprocess")
@@ -3041,6 +3209,8 @@ namespace PARR.DAL.Migrations
b.Navigation("Orders");
b.Navigation("RobotConfigurations");
b.Navigation("TemplateHistories");
});
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>