using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace FWLAZ_Web.Migrations { /// public partial class Initial : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Question", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Text = table.Column(type: "TEXT", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Question", x => x.Id); }); migrationBuilder.CreateTable( name: "Quiz", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Quiz", x => x.Id); }); migrationBuilder.CreateTable( name: "Answers", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Text = table.Column(type: "TEXT", nullable: false), IsCorrect = table.Column(type: "INTEGER", nullable: false), QuestionId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Answers", x => x.Id); table.ForeignKey( name: "FK_Answers_Question_QuestionId", column: x => x.QuestionId, principalTable: "Question", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "QuestionGroup", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: false), QuizId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_QuestionGroup", x => x.Id); table.ForeignKey( name: "FK_QuestionGroup_Quiz_QuizId", column: x => x.QuizId, principalTable: "Quiz", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "QuestionQuestionGroup", columns: table => new { QuestionGroupsId = table.Column(type: "INTEGER", nullable: false), QuestionsId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_QuestionQuestionGroup", x => new { x.QuestionGroupsId, x.QuestionsId }); table.ForeignKey( name: "FK_QuestionQuestionGroup_QuestionGroup_QuestionGroupsId", column: x => x.QuestionGroupsId, principalTable: "QuestionGroup", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_QuestionQuestionGroup_Question_QuestionsId", column: x => x.QuestionsId, principalTable: "Question", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_Answers_QuestionId", table: "Answers", column: "QuestionId"); migrationBuilder.CreateIndex( name: "IX_QuestionGroup_QuizId", table: "QuestionGroup", column: "QuizId"); migrationBuilder.CreateIndex( name: "IX_QuestionQuestionGroup_QuestionsId", table: "QuestionQuestionGroup", column: "QuestionsId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Answers"); migrationBuilder.DropTable( name: "QuestionQuestionGroup"); migrationBuilder.DropTable( name: "QuestionGroup"); migrationBuilder.DropTable( name: "Question"); migrationBuilder.DropTable( name: "Quiz"); } } }