using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
///
public partial class tblsWorkInit : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.EnsureSchema(
name: "job");
migrationBuilder.CreateTable(
name: "Jobs",
schema: "job",
columns: table => new
{
Id = table.Column(type: "uuid", nullable: false),
DateCreated = table.Column(type: "timestamp with time zone", nullable: false),
DateModified = table.Column(type: "timestamp with time zone", nullable: true),
Name = table.Column(type: "text", nullable: false),
IsUmbrella = table.Column(type: "boolean", nullable: true),
MinValueRelationships = table.Column(type: "integer", nullable: true),
MaxValueRelationships = table.Column(type: "integer", nullable: true),
TemplateNameMask = table.Column(type: "text", nullable: true),
TnkId = table.Column(type: "uuid", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Jobs", x => x.Id);
table.ForeignKey(
name: "FK_Jobs_Tnks_TnkId",
column: x => x.TnkId,
principalTable: "Tnks",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
},
comment: "Таблица видов работ");
migrationBuilder.CreateTable(
name: "JobDetails",
schema: "job",
columns: table => new
{
Id = table.Column(type: "uuid", nullable: false),
DateCreated = table.Column(type: "timestamp with time zone", nullable: false),
DateModified = table.Column(type: "timestamp with time zone", nullable: true),
UnitFilter = table.Column(type: "text", nullable: false),
JobId = table.Column(type: "uuid", nullable: false),
ShortDescription = table.Column(type: "text", nullable: false),
FullDescription = table.Column(type: "text", nullable: false),
Solution = table.Column(type: "text", nullable: false),
Duration = table.Column(type: "text", nullable: false),
ReferenceDate = table.Column(type: "timestamp with time zone", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_JobDetails", x => x.Id);
table.ForeignKey(
name: "FK_JobDetails_Jobs_JobId",
column: x => x.JobId,
principalSchema: "job",
principalTable: "Jobs",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
},
comment: "Таблица описания критериев выборки ЭК, описание полей в АСУ ЕСПП");
migrationBuilder.CreateTable(
name: "FieldFilters",
schema: "job",
columns: table => new
{
Id = table.Column(type: "uuid", nullable: false),
DateCreated = table.Column(type: "timestamp with time zone", nullable: false),
DateModified = table.Column(type: "timestamp with time zone", nullable: true),
JobDetailId = table.Column(type: "uuid", nullable: false),
FieldId = table.Column(type: "uuid", nullable: false),
ValueMask = table.Column(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_FieldFilters", x => x.Id);
table.ForeignKey(
name: "FK_FieldFilters_Fields_FieldId",
column: x => x.FieldId,
principalSchema: "unit",
principalTable: "Fields",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_FieldFilters_JobDetails_JobDetailId",
column: x => x.JobDetailId,
principalSchema: "job",
principalTable: "JobDetails",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
},
comment: "Таблица описания критериев выборки аттрибутов ЭК");
migrationBuilder.CreateIndex(
name: "IX_FieldFilters_FieldId",
schema: "job",
table: "FieldFilters",
column: "FieldId");
migrationBuilder.CreateIndex(
name: "IX_FieldFilters_JobDetailId",
schema: "job",
table: "FieldFilters",
column: "JobDetailId");
migrationBuilder.CreateIndex(
name: "IX_JobDetails_JobId",
schema: "job",
table: "JobDetails",
column: "JobId");
migrationBuilder.CreateIndex(
name: "IX_Jobs_TnkId",
schema: "job",
table: "Jobs",
column: "TnkId");
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "FieldFilters",
schema: "job");
migrationBuilder.DropTable(
name: "JobDetails",
schema: "job");
migrationBuilder.DropTable(
name: "Jobs",
schema: "job");
}
}
}