using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace BMA.EHR.Infrastructure.Migrations.LeaveDb { /// public partial class AddLeaveDocumentTable : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_LeaveRequests_Document_LeaveDocumentId", table: "LeaveRequests"); migrationBuilder.DropIndex( name: "IX_LeaveRequests_LeaveDocumentId", table: "LeaveRequests"); migrationBuilder.DropColumn( name: "LeaveDocumentId", table: "LeaveRequests"); migrationBuilder.CreateTable( name: "LeaveDocuments", columns: table => new { Id = table.Column(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"), CreatedAt = table.Column(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"), CreatedUserId = table.Column(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล") .Annotation("MySql:CharSet", "utf8mb4"), LastUpdatedAt = table.Column(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"), LastUpdateUserId = table.Column(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด") .Annotation("MySql:CharSet", "utf8mb4"), CreatedFullName = table.Column(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล") .Annotation("MySql:CharSet", "utf8mb4"), LastUpdateFullName = table.Column(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด") .Annotation("MySql:CharSet", "utf8mb4"), DocumentId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), LeaveRequestId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") }, constraints: table => { table.PrimaryKey("PK_LeaveDocuments", x => x.Id); table.ForeignKey( name: "FK_LeaveDocuments_Document_DocumentId", column: x => x.DocumentId, principalTable: "Document", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_LeaveDocuments_LeaveRequests_LeaveRequestId", column: x => x.LeaveRequestId, principalTable: "LeaveRequests", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateIndex( name: "IX_LeaveDocuments_DocumentId", table: "LeaveDocuments", column: "DocumentId"); migrationBuilder.CreateIndex( name: "IX_LeaveDocuments_LeaveRequestId", table: "LeaveDocuments", column: "LeaveRequestId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "LeaveDocuments"); migrationBuilder.AddColumn( name: "LeaveDocumentId", table: "LeaveRequests", type: "char(36)", nullable: true, collation: "ascii_general_ci"); migrationBuilder.CreateIndex( name: "IX_LeaveRequests_LeaveDocumentId", table: "LeaveRequests", column: "LeaveDocumentId"); migrationBuilder.AddForeignKey( name: "FK_LeaveRequests_Document_LeaveDocumentId", table: "LeaveRequests", column: "LeaveDocumentId", principalTable: "Document", principalColumn: "Id"); } } }