using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Jiaowu.Api.Infrastructure.Persistence.Migrations.MySql { /// public partial class AcademicPlanningPrerequisites : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "CoursePrerequisites", columns: table => new { Id = table.Column(type: "char(36)", nullable: false), CourseId = table.Column(type: "char(36)", nullable: false), PrerequisiteCourseId = table.Column(type: "char(36)", nullable: false), CreatedAt = table.Column(type: "datetime(6)", nullable: false), UpdatedAt = table.Column(type: "datetime(6)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_CoursePrerequisites", x => x.Id); table.ForeignKey( name: "FK_CoursePrerequisites_Courses_CourseId", column: x => x.CourseId, principalTable: "Courses", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_CoursePrerequisites_Courses_PrerequisiteCourseId", column: x => x.PrerequisiteCourseId, principalTable: "Courses", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }) .Annotation("MySQL:Charset", "utf8mb4"); migrationBuilder.CreateIndex( name: "IX_CoursePrerequisites_CourseId_PrerequisiteCourseId", table: "CoursePrerequisites", columns: new[] { "CourseId", "PrerequisiteCourseId" }, unique: true); migrationBuilder.CreateIndex( name: "IX_CoursePrerequisites_PrerequisiteCourseId", table: "CoursePrerequisites", column: "PrerequisiteCourseId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "CoursePrerequisites"); } } }