using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace BMA.EHR.Infrastructure.Migrations { /// public partial class AddtableOrganizationEmployees : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "OrganizationEmployees", 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"), Agency = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), ConditionNote = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Department = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Government = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), IsActive = table.Column(type: "tinyint(1)", nullable: true), IsCondition = table.Column(type: "tinyint(1)", nullable: true), IsDirector = table.Column(type: "tinyint(1)", nullable: true), OrganizationUserNote = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Qualification = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Pile = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), PosNo = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), PositionCondition = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), PositionMasterUserNote = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), OrganizationOrder = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), OrganizationFaxId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationLevelId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationOrganizationId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationTelExternalId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationTelInternalId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationTypeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), PositionEmployeeStatusId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), PositionEmployeeLineId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), PositionEmployeePositionId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationAgencyId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationGovernmentAgencyId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), OrganizationShortNameId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), ProfileId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") }, constraints: table => { table.PrimaryKey("PK_OrganizationEmployees", x => x.Id); table.ForeignKey( name: "FK_OrganizationEmployees_OrganizationFaxs_OrganizationFaxId", column: x => x.OrganizationFaxId, principalTable: "OrganizationFaxs", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_OrganizationLevels_OrganizationLevelId", column: x => x.OrganizationLevelId, principalTable: "OrganizationLevels", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_OrganizationOrganizations_Organization~", column: x => x.OrganizationOrganizationId, principalTable: "OrganizationOrganizations", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_OrganizationShortNames_OrganizationSho~", column: x => x.OrganizationShortNameId, principalTable: "OrganizationShortNames", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_OrganizationTelExternals_OrganizationT~", column: x => x.OrganizationTelExternalId, principalTable: "OrganizationTelExternals", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_OrganizationTelInternals_OrganizationT~", column: x => x.OrganizationTelInternalId, principalTable: "OrganizationTelInternals", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_OrganizationTypes_OrganizationTypeId", column: x => x.OrganizationTypeId, principalTable: "OrganizationTypes", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_Organizations_OrganizationAgencyId", column: x => x.OrganizationAgencyId, principalTable: "Organizations", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_Organizations_OrganizationGovernmentAg~", column: x => x.OrganizationGovernmentAgencyId, principalTable: "Organizations", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_PositionEmployeeLines_PositionEmployee~", column: x => x.PositionEmployeeLineId, principalTable: "PositionEmployeeLines", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_PositionEmployeePositions_PositionEmpl~", column: x => x.PositionEmployeePositionId, principalTable: "PositionEmployeePositions", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_PositionEmployeeStatuses_PositionEmplo~", column: x => x.PositionEmployeeStatusId, principalTable: "PositionEmployeeStatuses", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationEmployees_Profiles_ProfileId", column: x => x.ProfileId, principalTable: "Profiles", principalColumn: "Id"); }) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateTable( name: "OrganizationPositionEmployeeLevels", 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"), OrganizationEmployeeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), PositionEmployeeLevelId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") }, constraints: table => { table.PrimaryKey("PK_OrganizationPositionEmployeeLevels", x => x.Id); table.ForeignKey( name: "FK_OrganizationPositionEmployeeLevels_OrganizationEmployees_Org~", column: x => x.OrganizationEmployeeId, principalTable: "OrganizationEmployees", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationPositionEmployeeLevels_PositionEmployeeLevels_Po~", column: x => x.PositionEmployeeLevelId, principalTable: "PositionEmployeeLevels", principalColumn: "Id"); }) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateTable( name: "OrganizationPositionEmployeePositionSides", 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"), OrganizationEmployeeId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"), PositionEmployeePositionSideId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") }, constraints: table => { table.PrimaryKey("PK_OrganizationPositionEmployeePositionSides", x => x.Id); table.ForeignKey( name: "FK_OrganizationPositionEmployeePositionSides_OrganizationEmploy~", column: x => x.OrganizationEmployeeId, principalTable: "OrganizationEmployees", principalColumn: "Id"); table.ForeignKey( name: "FK_OrganizationPositionEmployeePositionSides_PositionEmployeePo~", column: x => x.PositionEmployeePositionSideId, principalTable: "PositionEmployeePositionSides", principalColumn: "Id"); }) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationAgencyId", table: "OrganizationEmployees", column: "OrganizationAgencyId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationFaxId", table: "OrganizationEmployees", column: "OrganizationFaxId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationGovernmentAgencyId", table: "OrganizationEmployees", column: "OrganizationGovernmentAgencyId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationLevelId", table: "OrganizationEmployees", column: "OrganizationLevelId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationOrganizationId", table: "OrganizationEmployees", column: "OrganizationOrganizationId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationShortNameId", table: "OrganizationEmployees", column: "OrganizationShortNameId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationTelExternalId", table: "OrganizationEmployees", column: "OrganizationTelExternalId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationTelInternalId", table: "OrganizationEmployees", column: "OrganizationTelInternalId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_OrganizationTypeId", table: "OrganizationEmployees", column: "OrganizationTypeId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_PositionEmployeeLineId", table: "OrganizationEmployees", column: "PositionEmployeeLineId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_PositionEmployeePositionId", table: "OrganizationEmployees", column: "PositionEmployeePositionId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_PositionEmployeeStatusId", table: "OrganizationEmployees", column: "PositionEmployeeStatusId"); migrationBuilder.CreateIndex( name: "IX_OrganizationEmployees_ProfileId", table: "OrganizationEmployees", column: "ProfileId"); migrationBuilder.CreateIndex( name: "IX_OrganizationPositionEmployeeLevels_OrganizationEmployeeId", table: "OrganizationPositionEmployeeLevels", column: "OrganizationEmployeeId"); migrationBuilder.CreateIndex( name: "IX_OrganizationPositionEmployeeLevels_PositionEmployeeLevelId", table: "OrganizationPositionEmployeeLevels", column: "PositionEmployeeLevelId"); migrationBuilder.CreateIndex( name: "IX_OrganizationPositionEmployeePositionSides_OrganizationEmploy~", table: "OrganizationPositionEmployeePositionSides", column: "OrganizationEmployeeId"); migrationBuilder.CreateIndex( name: "IX_OrganizationPositionEmployeePositionSides_PositionEmployeePo~", table: "OrganizationPositionEmployeePositionSides", column: "PositionEmployeePositionSideId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "OrganizationPositionEmployeeLevels"); migrationBuilder.DropTable( name: "OrganizationPositionEmployeePositionSides"); migrationBuilder.DropTable( name: "OrganizationEmployees"); } } }