374 lines
18 KiB
C#
374 lines
18 KiB
C#
|
|
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");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|