feat(dal,api): Удалены старые таблицы AppInWorks

This commit is contained in:
Mikhail Trubnikov
2026-04-15 09:35:03 +10:00
parent 50358fd5bd
commit a93e8de4b0
91 changed files with 4855 additions and 2422 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,373 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class RemoveOldTables : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AppInWorkInWorkGroups");
migrationBuilder.DropTable(
name: "ApplicationsInHost");
migrationBuilder.DropTable(
name: "ApplicationsInWorks");
migrationBuilder.DropTable(
name: "Hosts");
migrationBuilder.DropTable(
name: "Applications");
migrationBuilder.DropTable(
name: "EkStatuses");
migrationBuilder.DropTable(
name: "WorkGroups");
migrationBuilder.DropTable(
name: "ApplicationTypes");
migrationBuilder.DropTable(
name: "ResponseAreas");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "ApplicationTypes",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
DateCreated = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
DateModified = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
Description = table.Column<string>(type: "text", nullable: true),
Name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ApplicationTypes", x => x.Id);
});
migrationBuilder.CreateTable(
name: "EkStatuses",
columns: table => new
{
Code = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_EkStatuses", x => x.Code);
});
migrationBuilder.CreateTable(
name: "ResponseAreas",
columns: table => new
{
Code = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ResponseAreas", x => x.Code);
});
migrationBuilder.CreateTable(
name: "Applications",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
ApplicationTypeId = table.Column<Guid>(type: "uuid", nullable: false),
DateCreated = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
DateModified = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
Name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Applications", x => x.Id);
table.ForeignKey(
name: "FK_Applications_ApplicationTypes_ApplicationTypeId",
column: x => x.ApplicationTypeId,
principalTable: "ApplicationTypes",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "WorkGroups",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
ResponseAreaCode = table.Column<int>(type: "integer", nullable: false),
DateCreated = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
Name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_WorkGroups", x => x.Id);
table.ForeignKey(
name: "FK_WorkGroups_ResponseAreas_ResponseAreaCode",
column: x => x.ResponseAreaCode,
principalTable: "ResponseAreas",
principalColumn: "Code",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ApplicationsInWorks",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
ApplicationId = table.Column<Guid>(type: "uuid", nullable: false),
AgentName = table.Column<string>(type: "text", nullable: true),
AgentScript = table.Column<string>(type: "text", nullable: true),
AgentTimeOutSec = table.Column<int>(type: "integer", nullable: true),
DateCreated = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
DateModified = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
FullDescription = table.Column<string>(type: "text", nullable: false),
IsAgent = table.Column<bool>(type: "boolean", nullable: false),
IsAutoDistributionEnabled = table.Column<bool>(type: "boolean", nullable: false),
ReferenceDate = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
ShortDescription = table.Column<string>(type: "text", nullable: false),
Solution = table.Column<string>(type: "text", nullable: false),
TemplateDuration = table.Column<string>(type: "text", nullable: false),
WorkId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ApplicationsInWorks", x => x.Id);
table.ForeignKey(
name: "FK_ApplicationsInWorks_Applications_ApplicationId",
column: x => x.ApplicationId,
principalTable: "Applications",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Hosts",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
EkStatusCode = table.Column<int>(type: "integer", nullable: false),
ResponseAreaCode = table.Column<int>(type: "integer", nullable: false),
WorkGroupId = table.Column<Guid>(type: "uuid", nullable: true),
DateCreated = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
DateModified = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
Ek = table.Column<string>(type: "text", nullable: false),
IP = table.Column<string>(type: "text", nullable: true),
LastLogon = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Hosts", x => x.Id);
table.ForeignKey(
name: "FK_Hosts_EkStatuses_EkStatusCode",
column: x => x.EkStatusCode,
principalTable: "EkStatuses",
principalColumn: "Code",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Hosts_ResponseAreas_ResponseAreaCode",
column: x => x.ResponseAreaCode,
principalTable: "ResponseAreas",
principalColumn: "Code",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Hosts_WorkGroups_WorkGroupId",
column: x => x.WorkGroupId,
principalTable: "WorkGroups",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "AppInWorkInWorkGroups",
columns: table => new
{
ApplicationsInWorkId = table.Column<Guid>(type: "uuid", nullable: false),
WorkGroupId = table.Column<Guid>(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AppInWorkInWorkGroups", x => new { x.ApplicationsInWorkId, x.WorkGroupId });
table.ForeignKey(
name: "FK_AppInWorkInWorkGroups_ApplicationsInWorks_ApplicationsInWor~",
column: x => x.ApplicationsInWorkId,
principalTable: "ApplicationsInWorks",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AppInWorkInWorkGroups_WorkGroups_WorkGroupId",
column: x => x.WorkGroupId,
principalTable: "WorkGroups",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ApplicationsInHost",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
ApplicationId = table.Column<Guid>(type: "uuid", nullable: false),
HostId = table.Column<Guid>(type: "uuid", nullable: false),
DateCreated = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
DateModified = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_ApplicationsInHost", x => x.Id);
table.ForeignKey(
name: "FK_ApplicationsInHost_Applications_ApplicationId",
column: x => x.ApplicationId,
principalTable: "Applications",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ApplicationsInHost_Hosts_HostId",
column: x => x.HostId,
principalTable: "Hosts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.InsertData(
table: "ApplicationTypes",
columns: new[] { "Id", "DateCreated", "DateModified", "Description", "Name" },
values: new object[,]
{
{ new Guid("0bd96f9b-d36b-4dfb-bd8a-9c356bc6912b"), new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), null, "ИБ", "IB" },
{ new Guid("32c28386-6f13-4f7b-8508-be165b7fabdb"), new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), null, "Сервер приложений", "APP" },
{ new Guid("4466148b-510d-4423-a58f-ce878152ff01"), new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), null, "Инфраструктура", "SI" },
{ new Guid("725a96db-358e-489b-a7c9-a84b06ec15df"), new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), null, "Мониторинг", "SM" },
{ new Guid("749f4c34-b883-4f28-90dd-c161dd3c4270"), new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), null, "ЦК БС", "CKBS" },
{ new Guid("7848a96c-cdee-48c1-a786-de9cb889723a"), new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), null, "ОС", "OS" },
{ new Guid("aae2636f-b93a-42dc-873e-0764a90a0a40"), new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), null, "СУБД", "DB" }
});
migrationBuilder.InsertData(
table: "EkStatuses",
columns: new[] { "Code", "Name" },
values: new object[,]
{
{ 1, "1-Новый" },
{ 2, "2-Подготовка к эксплуатации" },
{ 3, "3-В эксплуатации" },
{ 4, "4-В ремонте" },
{ 5, "5-В резерве" },
{ 6, "6-Выведен из эксплуатации" },
{ 7, "7-Тестовый" },
{ 9, "9-В разработке" }
});
migrationBuilder.InsertData(
table: "ResponseAreas",
columns: new[] { "Code", "Name" },
values: new object[,]
{
{ 1, "01-ОКТ" },
{ 10, "10-КЛГ" },
{ 17, "17-МСК" },
{ 24, "24-ГОР" },
{ 28, "28-СЕВ" },
{ 51, "51-СКВ" },
{ 58, "58-ЮВСТ" },
{ 61, "61-ПРИВ" },
{ 63, "63-КБШ" },
{ 76, "76-СВРД" },
{ 80, "80-ЮУР" },
{ 83, "83-ЗСИБ" },
{ 88, "88-КРАСН" },
{ 92, "92-ВСИБ" },
{ 94, "94-ЗАБ" },
{ 96, "96-ДВС" },
{ 99, "00-ГВЦ" },
{ 100, "ОБЩЕЕ" },
{ 110, "ВП" },
{ 111, "ОСК" }
});
migrationBuilder.CreateIndex(
name: "IX_AppInWorkInWorkGroups_WorkGroupId",
table: "AppInWorkInWorkGroups",
column: "WorkGroupId");
migrationBuilder.CreateIndex(
name: "IX_Applications_ApplicationTypeId",
table: "Applications",
column: "ApplicationTypeId");
migrationBuilder.CreateIndex(
name: "IX_Applications_Name_ApplicationTypeId",
table: "Applications",
columns: new[] { "Name", "ApplicationTypeId" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_ApplicationsInHost_ApplicationId",
table: "ApplicationsInHost",
column: "ApplicationId");
migrationBuilder.CreateIndex(
name: "IX_ApplicationsInHost_HostId",
table: "ApplicationsInHost",
column: "HostId");
migrationBuilder.CreateIndex(
name: "IX_ApplicationsInWorks_ApplicationId",
table: "ApplicationsInWorks",
column: "ApplicationId");
migrationBuilder.CreateIndex(
name: "IX_ApplicationsInWorks_WorkId_ApplicationId",
table: "ApplicationsInWorks",
columns: new[] { "WorkId", "ApplicationId" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Hosts_Ek",
table: "Hosts",
column: "Ek",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Hosts_EkStatusCode",
table: "Hosts",
column: "EkStatusCode");
migrationBuilder.CreateIndex(
name: "IX_Hosts_IP",
table: "Hosts",
column: "IP");
migrationBuilder.CreateIndex(
name: "IX_Hosts_ResponseAreaCode",
table: "Hosts",
column: "ResponseAreaCode");
migrationBuilder.CreateIndex(
name: "IX_Hosts_WorkGroupId",
table: "Hosts",
column: "WorkGroupId");
migrationBuilder.CreateIndex(
name: "IX_WorkGroups_ResponseAreaCode",
table: "WorkGroups",
column: "ResponseAreaCode");
}
}
}

File diff suppressed because it is too large Load Diff