using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace PolyclinicDatabaseImplement.Migrations { /// public partial class InitCreate : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Courses", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), DaysCount = table.Column(type: "int", nullable: false), PillsPerDay = table.Column(type: "int", nullable: false), Comment = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Courses", x => x.Id); }); migrationBuilder.CreateTable( name: "Procedures", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), UserId = table.Column(type: "int", nullable: false), Name = table.Column(type: "nvarchar(max)", nullable: false), Comment = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Procedures", x => x.Id); }); migrationBuilder.CreateTable( name: "Symptomes", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(type: "nvarchar(max)", nullable: false), Comment = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Symptomes", x => x.Id); }); migrationBuilder.CreateTable( name: "Users", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), FIO = table.Column(type: "nvarchar(max)", nullable: false), Email = table.Column(type: "nvarchar(max)", nullable: false), Password = table.Column(type: "nvarchar(max)", nullable: false), Role = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Users", x => x.Id); }); migrationBuilder.CreateTable( name: "Recipes", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), ProceduresCount = table.Column(type: "int", nullable: false), Comment = table.Column(type: "nvarchar(max)", nullable: false), CourseId = table.Column(type: "int", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Recipes", x => x.Id); table.ForeignKey( name: "FK_Recipes_Courses_CourseId", column: x => x.CourseId, principalTable: "Courses", principalColumn: "Id"); }); migrationBuilder.CreateTable( name: "Medicaments", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(type: "nvarchar(max)", nullable: false), Comment = table.Column(type: "nvarchar(max)", nullable: false), ProcedureId = table.Column(type: "int", nullable: false), SymptomId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Medicaments", x => x.Id); table.ForeignKey( name: "FK_Medicaments_Procedures_ProcedureId", column: x => x.ProcedureId, principalTable: "Procedures", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Medicaments_Symptomes_SymptomId", column: x => x.SymptomId, principalTable: "Symptomes", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Diagnoses", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(type: "nvarchar(max)", nullable: false), Comment = table.Column(type: "nvarchar(max)", nullable: false), UserId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Diagnoses", x => x.Id); table.ForeignKey( name: "FK_Diagnoses_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "RecipeProcedures", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), ProcedureId = table.Column(type: "int", nullable: false), RecipeId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_RecipeProcedures", x => x.Id); table.ForeignKey( name: "FK_RecipeProcedures_Procedures_ProcedureId", column: x => x.ProcedureId, principalTable: "Procedures", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_RecipeProcedures_Recipes_RecipeId", column: x => x.RecipeId, principalTable: "Recipes", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "SymptomRecipes", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), SymptomId = table.Column(type: "int", nullable: false), RecipeId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_SymptomRecipes", x => x.Id); table.ForeignKey( name: "FK_SymptomRecipes_Recipes_RecipeId", column: x => x.RecipeId, principalTable: "Recipes", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_SymptomRecipes_Symptomes_SymptomId", column: x => x.SymptomId, principalTable: "Symptomes", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "CourseDiagnoses", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), CourseId = table.Column(type: "int", nullable: false), DiagnoseId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_CourseDiagnoses", x => x.Id); table.ForeignKey( name: "FK_CourseDiagnoses_Courses_CourseId", column: x => x.CourseId, principalTable: "Courses", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_CourseDiagnoses_Diagnoses_DiagnoseId", column: x => x.DiagnoseId, principalTable: "Diagnoses", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "SymptomDiagnoses", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), SymptomId = table.Column(type: "int", nullable: false), DiagnoseId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_SymptomDiagnoses", x => x.Id); table.ForeignKey( name: "FK_SymptomDiagnoses_Diagnoses_DiagnoseId", column: x => x.DiagnoseId, principalTable: "Diagnoses", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_SymptomDiagnoses_Symptomes_SymptomId", column: x => x.SymptomId, principalTable: "Symptomes", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_CourseDiagnoses_CourseId", table: "CourseDiagnoses", column: "CourseId"); migrationBuilder.CreateIndex( name: "IX_CourseDiagnoses_DiagnoseId", table: "CourseDiagnoses", column: "DiagnoseId"); migrationBuilder.CreateIndex( name: "IX_Diagnoses_UserId", table: "Diagnoses", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Medicaments_ProcedureId", table: "Medicaments", column: "ProcedureId"); migrationBuilder.CreateIndex( name: "IX_Medicaments_SymptomId", table: "Medicaments", column: "SymptomId"); migrationBuilder.CreateIndex( name: "IX_RecipeProcedures_ProcedureId", table: "RecipeProcedures", column: "ProcedureId"); migrationBuilder.CreateIndex( name: "IX_RecipeProcedures_RecipeId", table: "RecipeProcedures", column: "RecipeId"); migrationBuilder.CreateIndex( name: "IX_Recipes_CourseId", table: "Recipes", column: "CourseId"); migrationBuilder.CreateIndex( name: "IX_SymptomDiagnoses_DiagnoseId", table: "SymptomDiagnoses", column: "DiagnoseId"); migrationBuilder.CreateIndex( name: "IX_SymptomDiagnoses_SymptomId", table: "SymptomDiagnoses", column: "SymptomId"); migrationBuilder.CreateIndex( name: "IX_SymptomRecipes_RecipeId", table: "SymptomRecipes", column: "RecipeId"); migrationBuilder.CreateIndex( name: "IX_SymptomRecipes_SymptomId", table: "SymptomRecipes", column: "SymptomId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "CourseDiagnoses"); migrationBuilder.DropTable( name: "Medicaments"); migrationBuilder.DropTable( name: "RecipeProcedures"); migrationBuilder.DropTable( name: "SymptomDiagnoses"); migrationBuilder.DropTable( name: "SymptomRecipes"); migrationBuilder.DropTable( name: "Procedures"); migrationBuilder.DropTable( name: "Diagnoses"); migrationBuilder.DropTable( name: "Recipes"); migrationBuilder.DropTable( name: "Symptomes"); migrationBuilder.DropTable( name: "Users"); migrationBuilder.DropTable( name: "Courses"); } } }