198 lines
14 KiB
C#
198 lines
14 KiB
C#
using System;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace BMA.EHR.Infrastructure.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class AddPlacementCommandTableandCommandCoreTable : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.CreateTable(
|
|
name: "CommandStatuses",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
Name = table.Column<string>(type: "varchar(100)", maxLength: 100, nullable: false, comment: "สถานะของคำสั่ง")
|
|
.Annotation("MySql:CharSet", "utf8mb4")
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_CommandStatuses", x => x.Id);
|
|
})
|
|
.Annotation("MySql:CharSet", "utf8mb4");
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "CommandTypes",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
Name = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อคำสั่ง")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
Category = table.Column<string>(type: "varchar(100)", maxLength: 100, nullable: false, comment: "ประเภทคำสั่ง")
|
|
.Annotation("MySql:CharSet", "utf8mb4")
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_CommandTypes", x => x.Id);
|
|
})
|
|
.Annotation("MySql:CharSet", "utf8mb4");
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "BaseCommand",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CommandNo = table.Column<string>(type: "varchar(10)", maxLength: 10, nullable: false, comment: "เลขที่คำสั่ง")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CommandYear = table.Column<string>(type: "varchar(4)", maxLength: 4, nullable: false, comment: "ปีที่ออกคำสั่ง")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CommandTypeId = table.Column<Guid>(type: "char(36)", nullable: false, comment: "รหัสอ้างอิงประเภทคำสั่ง", collation: "ascii_general_ci"),
|
|
IssuerOrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, comment: "รหัสอ้างอิงหน่วยงานที่ออกคำสั่ง", collation: "ascii_general_ci"),
|
|
IssuerOrganizationName = table.Column<string>(type: "longtext", nullable: false, comment: "หน่วยงานที่ออกคำสั่ง")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CommandStatusId = table.Column<Guid>(type: "char(36)", nullable: false, comment: "รหัสอ้างอิงสถานะคำสั่ง", collation: "ascii_general_ci"),
|
|
AuthorizedUserId = table.Column<Guid>(type: "char(36)", nullable: false, comment: "รหัสอ้างอิงผู้มีอำนาจลงนาม", collation: "ascii_general_ci"),
|
|
AuthorizedUserFullName = table.Column<string>(type: "longtext", nullable: false, comment: "ชื่อผู้มีอำนาจลงนาม")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
Discriminator = table.Column<string>(type: "longtext", nullable: false)
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
ExamRoundId = table.Column<Guid>(type: "char(36)", nullable: true, comment: "อ้างอิงรอบการสอบ", collation: "ascii_general_ci"),
|
|
PositionName = table.Column<string>(type: "longtext", nullable: true, comment: "ตำแหน่งที่บรรจุ")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
ConclusionRegisterNo = table.Column<string>(type: "longtext", nullable: true, comment: "มติ กก. ครั้งที่ (เรื่อง รับสมัครสอบฯ)")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
ConclusionRegisterDate = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "ลงวันที่ (เรื่อง รับสมัครสอบฯ)"),
|
|
ConclusionResultNo = table.Column<string>(type: "longtext", nullable: true, comment: "มติ กก. ครั้งที่ (เรื่อง ผลการสอบแข่งขัน)")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
ConclusionResultDate = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "ลงวันที่ (เรื่อง ผลการสอบแข่งขัน)")
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_BaseCommand", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_BaseCommand_CommandStatuses_CommandStatusId",
|
|
column: x => x.CommandStatusId,
|
|
principalTable: "CommandStatuses",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
table.ForeignKey(
|
|
name: "FK_BaseCommand_CommandTypes_CommandTypeId",
|
|
column: x => x.CommandTypeId,
|
|
principalTable: "CommandTypes",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
})
|
|
.Annotation("MySql:CharSet", "utf8mb4");
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "CommandDocuments",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
Category = table.Column<string>(type: "longtext", nullable: false, comment: "ประเภทเอกสาร")
|
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
|
DocumentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
|
CommandId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_CommandDocuments", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_CommandDocuments_BaseCommand_CommandId",
|
|
column: x => x.CommandId,
|
|
principalTable: "BaseCommand",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
table.ForeignKey(
|
|
name: "FK_CommandDocuments_Documents_DocumentId",
|
|
column: x => x.DocumentId,
|
|
principalTable: "Documents",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
})
|
|
.Annotation("MySql:CharSet", "utf8mb4");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_BaseCommand_CommandStatusId",
|
|
table: "BaseCommand",
|
|
column: "CommandStatusId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_BaseCommand_CommandTypeId",
|
|
table: "BaseCommand",
|
|
column: "CommandTypeId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_CommandDocuments_CommandId",
|
|
table: "CommandDocuments",
|
|
column: "CommandId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_CommandDocuments_DocumentId",
|
|
table: "CommandDocuments",
|
|
column: "DocumentId");
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropTable(
|
|
name: "CommandDocuments");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "BaseCommand");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "CommandStatuses");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "CommandTypes");
|
|
}
|
|
}
|
|
}
|