From 37fa39402744df2066230828fe9f21f89ceaf399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janis=20Daniel=20Da=CC=88hne?= <janis.daehne2@student.uni-halle.de> Date: Fri, 30 Aug 2019 16:13:38 +0200 Subject: [PATCH] - step 3 --- src/ClientServer/Controllers/Core/Init.cs | 11 +- ...90801154937_addFakeFksToOtherSidesStep2.cs | 1 + ...55_addFakeFksToOtherSidesStep2.Designer.cs | 2163 ----------------- ...90801163155_addFakeFksToOtherSidesStep2.cs | 354 --- .../Migrations/YapexDbContextModelSnapshot.cs | 1 - 5 files changed, 7 insertions(+), 2523 deletions(-) delete mode 100755 src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.Designer.cs delete mode 100755 src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.cs diff --git a/src/ClientServer/Controllers/Core/Init.cs b/src/ClientServer/Controllers/Core/Init.cs index ef8f762..ee6fe3b 100644 --- a/src/ClientServer/Controllers/Core/Init.cs +++ b/src/ClientServer/Controllers/Core/Init.cs @@ -453,17 +453,18 @@ namespace ClientServer.Controllers.Core _context.TestCaseSettingses.RemoveRange(allTestSettings); - var notDeletedAssessments = _context.SolutionAssessment - .Where(p => p.UserId == 0 && p.ExerciseReleaseId == 0 && p.PLangId == 0) - .ToList(); - - _context.SolutionAssessment.RemoveRange(notDeletedAssessments); int rows; try { + var notDeletedAssessments = _context.SolutionAssessment + .Where(p => p.UserId == 0 && p.ExerciseReleaseId == 0 && p.PLangId == 0) + .ToList(); + + + _context.SolutionAssessment.RemoveRange(notDeletedAssessments); rows = _context.SaveChanges(); } catch (Exception e) diff --git a/src/ClientServer/Migrations/20190801154937_addFakeFksToOtherSidesStep2.cs b/src/ClientServer/Migrations/20190801154937_addFakeFksToOtherSidesStep2.cs index 50fcdf0..caa0077 100755 --- a/src/ClientServer/Migrations/20190801154937_addFakeFksToOtherSidesStep2.cs +++ b/src/ClientServer/Migrations/20190801154937_addFakeFksToOtherSidesStep2.cs @@ -8,6 +8,7 @@ namespace ClientServer.Migrations { protected override void Up(MigrationBuilder migrationBuilder) { + //this might got here because we manually dropped this fk migrationBuilder.DropForeignKey( name: "FK_CustomProjectTests_TestCaseSettingses_TestSettingsId", table: "CustomProjectTests"); diff --git a/src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.Designer.cs b/src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.Designer.cs deleted file mode 100755 index f8d1fa6..0000000 --- a/src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.Designer.cs +++ /dev/null @@ -1,2163 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using ClientServer.Db; -using ClientServer.Models.Exercises.Release; - -namespace ClientServer.Migrations -{ - [DbContext(typeof(YapexDbContext))] - [Migration("20190801163155_addFakeFksToOtherSidesStep2")] - partial class addFakeFksToOtherSidesStep2 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.3"); - - modelBuilder.Entity("ClientServer.Models.AwaitDummy", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.HasKey("Id"); - - b.ToTable("AwaitDummies"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProject", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<int>("LastEditorPLangId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("CustomProjects"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectDescription", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<string>("Content") - .HasMaxLength(50000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("CustomProjectId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.HasIndex("CustomProjectId") - .IsUnique(); - - b.ToTable("CustomProjectDescriptions"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectDescriptionWithFileAsAssetReference", b => - { - b.Property<int>("CustomProjectDescriptionId"); - - b.Property<int>("FileReferenceUserFileAssetId"); - - b.HasKey("CustomProjectDescriptionId", "FileReferenceUserFileAssetId"); - - b.HasIndex("CustomProjectDescriptionId"); - - b.HasIndex("FileReferenceUserFileAssetId"); - - b.ToTable("CustomProjectDescriptionWithFileAsAssetReferences"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectSolution", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("CustomProjectId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int?>("MainFileId"); - - b.Property<int>("PLangId"); - - b.HasKey("Id"); - - b.HasIndex("CustomProjectId"); - - b.HasIndex("MainFileId") - .IsUnique(); - - b.HasIndex("PLangId"); - - b.ToTable("CustomProjectSolutions"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectSolutionFile", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<string>("Content") - .HasMaxLength(70000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int?>("CustomProjectSolutionId") - .IsRequired(); - - b.Property<int>("DisplayIndex"); - - b.Property<string>("FileNameWithExtension") - .HasMaxLength(2000); - - b.Property<bool>("IsDisplayed"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.HasIndex("CustomProjectSolutionId"); - - b.ToTable("CustomProjectSolutionFiles"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTest", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<string>("Content") - .HasMaxLength(80000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("CustomProjectId"); - - b.Property<int>("DisplayIndex"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("TestTypeId"); - - b.Property<int>("Weight"); - - b.HasKey("Id"); - - b.HasIndex("CustomProjectId"); - - b.HasIndex("TestTypeId"); - - b.ToTable("CustomProjectTests"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTestAsset", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<byte[]>("Content"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<string>("Hash") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("MimeType") - .HasMaxLength(2000); - - b.HasKey("Id"); - - b.ToTable("CustomProjectTestAssets"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTestSettings", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<int>("CompileTimeoutInMs"); - - b.Property<string>("CompilerOptions") - .HasMaxLength(2000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("CustomProjectTestId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("MaxDiskSpaceInKb"); - - b.Property<int>("MemoryLimitInKb"); - - b.Property<int>("TimeoutInMs"); - - b.HasKey("Id"); - - b.HasIndex("CustomProjectTestId") - .IsUnique(); - - b.ToTable("CustomProjectTestSettings"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTestWithFileAsAssetReference", b => - { - b.Property<int>("CustomProjectTestId"); - - b.Property<int>("FileReferenceUserFileAssetId"); - - b.HasKey("CustomProjectTestId", "FileReferenceUserFileAssetId"); - - b.HasIndex("CustomProjectTestId"); - - b.HasIndex("FileReferenceUserFileAssetId"); - - b.ToTable("CustomProjectTestWithFileAsAssetReferences"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTestWithSolutionAsTestResult", b => - { - b.Property<int>("CustomProjectSolutionId"); - - b.Property<int>("CustomProjectTestId"); - - b.Property<bool>("CharacterLimitExceeded"); - - b.Property<int?>("CharacterLimitUsed"); - - b.Property<int?>("CompileTimeoutInMsUsed"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<bool?>("HasCompiled"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool?>("Passed"); - - b.Property<int?>("ProgramExitCode"); - - b.Property<string>("Protocol") - .HasMaxLength(160100); - - b.Property<string>("RunnerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TestResultCode"); - - b.Property<string>("TestServerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TimeForCompiling"); - - b.Property<int?>("TimeForUserProgram"); - - b.Property<int?>("TimeoutInMsUsed"); - - b.HasKey("CustomProjectSolutionId", "CustomProjectTestId"); - - b.HasIndex("CustomProjectSolutionId"); - - b.HasIndex("CustomProjectTestId"); - - b.ToTable("CustomProjectTestWithSolutionAsTestResults"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.AfterSolution", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int?>("MainFileId"); - - b.Property<int>("SolutionExerciseReleaseId"); - - b.Property<int>("SolutionPLangId"); - - b.Property<int>("SolutionUserId"); - - b.HasKey("Id"); - - b.HasIndex("MainFileId") - .IsUnique(); - - b.HasIndex("SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId") - .IsUnique(); - - b.ToTable("AfterSolutions"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.AfterSolutionFile", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<int>("AfterSolutionId"); - - b.Property<string>("Content") - .HasMaxLength(70000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("DisplayIndex"); - - b.Property<string>("FileNameWithExtension") - .HasMaxLength(2000); - - b.Property<bool>("IsDisplayed"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int?>("TemplateFileId"); - - b.HasKey("Id"); - - b.HasIndex("AfterSolutionId"); - - b.HasIndex("TemplateFileId"); - - b.ToTable("AfterSolutionFiles"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.CustomTestWithAfterSolutionAsTestResult", b => - { - b.Property<int>("CustomTestId"); - - b.Property<int>("AfterSolutionId"); - - b.Property<bool>("CharacterLimitExceeded"); - - b.Property<int?>("CharacterLimitUsed"); - - b.Property<int?>("CompileTimeoutInMsUsed"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<bool?>("HasCompiled"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool?>("Passed"); - - b.Property<int?>("ProgramExitCode"); - - b.Property<string>("Protocol") - .HasMaxLength(160100); - - b.Property<string>("RunnerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TestResultCode"); - - b.Property<string>("TestServerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TimeForCompiling"); - - b.Property<int?>("TimeForUserProgram"); - - b.Property<int?>("TimeoutInMsUsed"); - - b.HasKey("CustomTestId", "AfterSolutionId"); - - b.HasIndex("AfterSolutionId"); - - b.HasIndex("CustomTestId"); - - b.ToTable("CustomTestWithAfterSolutionAsTestResults"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.TestWithAfterSolutionAsTestResult", b => - { - b.Property<int>("TestId"); - - b.Property<int>("AfterSolutionId"); - - b.Property<bool>("CharacterLimitExceeded"); - - b.Property<int?>("CharacterLimitUsed"); - - b.Property<int?>("CompileTimeoutInMsUsed"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<bool?>("HasCompiled"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool?>("Passed"); - - b.Property<int?>("ProgramExitCode"); - - b.Property<string>("Protocol") - .HasMaxLength(160100); - - b.Property<string>("RunnerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TestResultCode"); - - b.Property<string>("TestServerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TimeForCompiling"); - - b.Property<int?>("TimeForUserProgram"); - - b.Property<int?>("TimeoutInMsUsed"); - - b.HasKey("TestId", "AfterSolutionId"); - - b.HasIndex("AfterSolutionId"); - - b.HasIndex("TestId"); - - b.ToTable("TestWithAfterSolutionAsTestResults"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.CodeTemplate", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("ExerciseId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int?>("MainFileId"); - - b.Property<int>("PLangId"); - - b.HasKey("Id"); - - b.HasIndex("ExerciseId"); - - b.HasIndex("MainFileId") - .IsUnique(); - - b.HasIndex("PLangId"); - - b.ToTable("Templates"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.CustomTestWithFileAsAssetReference", b => - { - b.Property<int>("CustomTestId"); - - b.Property<int>("FileReferenceUserFileAssetId"); - - b.HasKey("CustomTestId", "FileReferenceUserFileAssetId"); - - b.HasIndex("CustomTestId"); - - b.HasIndex("FileReferenceUserFileAssetId"); - - b.ToTable("CustomTestWithFileAsAssetReferences"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Exercise", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<bool>("CanUserCreateCustomTests"); - - b.Property<bool>("CanUserCreateFiles"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<bool>("IsOnlyVisibleToOwner"); - - b.Property<bool>("IsPermanentlyLocked"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("Note") - .HasMaxLength(10000); - - b.Property<string>("ShortDescription") - .HasMaxLength(2000); - - b.Property<int>("UserGroupId"); - - b.Property<int?>("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserGroupId"); - - b.HasIndex("UserId"); - - b.ToTable("Exercises"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.ExerciseDescription", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<string>("Content") - .HasMaxLength(50000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("ExerciseId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.HasIndex("ExerciseId") - .IsUnique(); - - b.ToTable("ExerciseDescriptions"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.ExerciseDescriptionWithFileAsAssetReference", b => - { - b.Property<int>("ExerciseDescriptionId"); - - b.Property<int>("FileReferenceMarkdownAssetId"); - - b.HasKey("ExerciseDescriptionId", "FileReferenceMarkdownAssetId"); - - b.HasIndex("ExerciseDescriptionId"); - - b.HasIndex("FileReferenceMarkdownAssetId"); - - b.ToTable("ExerciseDescriptionWithFileAsAssetReferences"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.MetaData", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("ExerciseId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.HasIndex("ExerciseId") - .IsUnique(); - - b.ToTable("MetaDatas"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Release.ExerciseRelease", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime?>("AutomaticEndAt"); - - b.Property<DateTime?>("AutomaticStartAt"); - - b.Property<int>("AvailableWorkingTimeInMinutes"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("ExerciseId"); - - b.Property<string>("GeneratedCode") - .IsRequired() - .HasMaxLength(2000); - - b.Property<bool>("HadAutomaticAssessmentErrors"); - - b.Property<bool>("HasAutomaticAssessmentFinished"); - - b.Property<bool>("HasAutomaticAssessmentStarted"); - - b.Property<bool>("HasLimitedWorkingTime"); - - b.Property<bool>("HideExerciseLeaveActions"); - - b.Property<bool>("HideInOverviews"); - - b.Property<bool>("HidePrintOptions"); - - b.Property<bool>("HideSiteHeaderBar"); - - b.Property<bool>("IsReleased"); - - b.Property<bool>("IsVisibleToAllAfterRelease"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int?>("MaxManualPoint"); - - b.Property<string>("Note") - .HasMaxLength(10000); - - b.Property<int>("PLangId"); - - b.Property<int>("ReleaseDurationType"); - - b.Property<int>("ReleaseStartType"); - - b.Property<DateTime?>("ReleasedAt"); - - b.Property<bool>("RunAlsoNormalTests"); - - b.Property<bool>("ShouldAutomaticAssessSubmissions"); - - b.Property<bool>("ShouldClearClipboard"); - - b.Property<bool>("ShowAdditionalLogButton"); - - b.HasKey("Id"); - - b.HasAlternateKey("GeneratedCode") - .HasName("Unique_GeneratedCode"); - - b.HasIndex("ExerciseId"); - - b.HasIndex("PLangId"); - - b.ToTable("ExerciseReleases"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.CustomTestWithSingleSolutionAsTestResult", b => - { - b.Property<int>("CustomTestId"); - - b.Property<int>("SolutionUserId"); - - b.Property<int>("SolutionExerciseReleaseId"); - - b.Property<int>("SolutionPLangId"); - - b.Property<bool>("CharacterLimitExceeded"); - - b.Property<int?>("CharacterLimitUsed"); - - b.Property<int?>("CompileTimeoutInMsUsed"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<bool?>("HasCompiled"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool?>("Passed"); - - b.Property<int?>("ProgramExitCode"); - - b.Property<string>("Protocol") - .HasMaxLength(160100); - - b.Property<string>("RunnerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TestResultCode"); - - b.Property<string>("TestServerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TimeForCompiling"); - - b.Property<int?>("TimeForUserProgram"); - - b.Property<int?>("TimeoutInMsUsed"); - - b.HasKey("CustomTestId", "SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId"); - - b.HasIndex("CustomTestId"); - - b.HasIndex("SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId"); - - b.ToTable("CustomTestWithSingleSolutionAsTestResult"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.ExerciseReleaseWithUserAsParticipation", b => - { - b.Property<int>("UserId"); - - b.Property<int>("ExerciseReleaseId"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("LastEditedPLangId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool>("LockSolutionsFlag"); - - b.Property<bool>("ShouldNotCount"); - - b.HasKey("UserId", "ExerciseReleaseId"); - - b.HasIndex("ExerciseReleaseId"); - - b.HasIndex("LastEditedPLangId"); - - b.HasIndex("UserId"); - - b.ToTable("ExerciseReleaseWithUserAsParticipations"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.Solution", b => - { - b.Property<int>("UserId"); - - b.Property<int>("ExerciseReleaseId"); - - b.Property<int>("PLangId"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("LastEditingIpAddress") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int?>("MainFileId"); - - b.Property<string>("Note") - .HasMaxLength(10000); - - b.HasKey("UserId", "ExerciseReleaseId", "PLangId"); - - b.HasIndex("MainFileId") - .IsUnique(); - - b.HasIndex("PLangId"); - - b.HasIndex("UserId", "ExerciseReleaseId"); - - b.ToTable("Solutions"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.SolutionAssessment", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("ExerciseReleaseId"); - - b.Property<string>("FeedbackForStudent") - .HasMaxLength(10000); - - b.Property<string>("LastAssessmentErrorMessage") - .HasMaxLength(80000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int?>("ManualPoints"); - - b.Property<int>("MaxNormalTestPoints"); - - b.Property<int>("MaxSubmitTestPoints"); - - b.Property<int?>("NormalTestPoints"); - - b.Property<string>("NoteForOtherTutors") - .HasMaxLength(10000); - - b.Property<int>("PLangId"); - - b.Property<int?>("SubmitTestPoints"); - - b.Property<int>("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId", "ExerciseReleaseId", "PLangId") - .IsUnique(); - - b.ToTable("SolutionAssessment"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.SolutionFile", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<string>("Content") - .HasMaxLength(70000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("DisplayIndex"); - - b.Property<string>("FileNameWithExtension") - .HasMaxLength(2000); - - b.Property<bool>("IsDisplayed"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("SolutionExerciseReleaseId"); - - b.Property<int>("SolutionPLangId"); - - b.Property<int>("SolutionUserId"); - - b.Property<int?>("TemplateFileId"); - - b.HasKey("Id"); - - b.HasIndex("TemplateFileId"); - - b.HasIndex("SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId"); - - b.ToTable("SolutionFiles"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.TestWithSingleSolutionAsTestResult", b => - { - b.Property<int>("TestId"); - - b.Property<int>("SolutionUserId"); - - b.Property<int>("SolutionExerciseReleaseId"); - - b.Property<int>("SolutionPLangId"); - - b.Property<bool>("CharacterLimitExceeded"); - - b.Property<int?>("CharacterLimitUsed"); - - b.Property<int?>("CompileTimeoutInMsUsed"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<bool?>("HasCompiled"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool?>("Passed"); - - b.Property<int?>("ProgramExitCode"); - - b.Property<string>("Protocol") - .HasMaxLength(160100); - - b.Property<string>("RunnerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TestResultCode"); - - b.Property<string>("TestServerVersion") - .HasMaxLength(2000); - - b.Property<int?>("TimeForCompiling"); - - b.Property<int?>("TimeForUserProgram"); - - b.Property<int?>("TimeoutInMsUsed"); - - b.HasKey("TestId", "SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId"); - - b.HasIndex("TestId"); - - b.HasIndex("SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId"); - - b.ToTable("TestWithSingleSolutionAsTestResult"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tag", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("Description") - .HasMaxLength(2000); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<string>("HtmlBackgroundColor") - .HasMaxLength(2000); - - b.Property<string>("HtmlColor") - .HasMaxLength(2000); - - b.Property<string>("HtmlIcon") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.HasIndex("DisplayName") - .HasName("Unique_Tag"); - - b.ToTable("Tags"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.TagWithMetaData", b => - { - b.Property<int>("TagId"); - - b.Property<int>("MetaDataId"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("TagId", "MetaDataId"); - - b.HasIndex("MetaDataId"); - - b.HasIndex("TagId"); - - b.ToTable("TagWithMetaDatas"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.TemplateFile", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<int?>("CodeTemplateId") - .IsRequired(); - - b.Property<string>("Content") - .HasMaxLength(70000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("DisplayIndex"); - - b.Property<string>("FileNameWithExtension") - .HasMaxLength(2000); - - b.Property<bool>("IsContentVisibleForUser"); - - b.Property<bool>("IsEditableByUser"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.HasIndex("CodeTemplateId"); - - b.ToTable("TemplateFiles"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.CustomTest", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<string>("Content") - .HasMaxLength(80000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("DisplayIndex"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<int>("ExerciseReleaseId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("TestTypeId"); - - b.Property<int>("UserId"); - - b.HasKey("Id"); - - b.HasIndex("TestTypeId"); - - b.HasIndex("UserId", "ExerciseReleaseId"); - - b.ToTable("CustomTest"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.DefaultCustomTestSettings", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<int>("CompileTimeoutInMs"); - - b.Property<string>("CompilerOptions") - .HasMaxLength(2000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("ExerciseId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("MaxDiskSpaceInKb"); - - b.Property<int>("MemoryLimitInKb"); - - b.Property<int>("TimeoutInMs"); - - b.HasKey("Id"); - - b.HasIndex("ExerciseId") - .IsUnique(); - - b.ToTable("DefaultCustomTestSettings"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.Test", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<string>("Content") - .HasMaxLength(80000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("DisplayIndex"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<int>("ExerciseId"); - - b.Property<bool>("IsSubmitTest"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("TestTypeId"); - - b.Property<int>("Weight"); - - b.HasKey("Id"); - - b.HasIndex("ExerciseId"); - - b.HasIndex("TestTypeId"); - - b.ToTable("Tests"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.TestSettings", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<int>("CompileTimeoutInMs"); - - b.Property<string>("CompilerOptions") - .HasMaxLength(2000); - - b.Property<DateTime>("CreatedAt"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("MaxDiskSpaceInKb"); - - b.Property<int>("MemoryLimitInKb"); - - b.Property<int>("TestId"); - - b.Property<int>("TimeoutInMs"); - - b.HasKey("Id"); - - b.HasIndex("TestId") - .IsUnique(); - - b.ToTable("TestCaseSettingses"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.TestType", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<string>("InternalName") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.ToTable("TestTypes"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.TestWithFileAsAssetReference", b => - { - b.Property<int>("TestId"); - - b.Property<int>("FileReferenceTestAssetId"); - - b.HasKey("TestId", "FileReferenceTestAssetId"); - - b.HasIndex("FileReferenceTestAssetId"); - - b.HasIndex("TestId"); - - b.ToTable("TestWithFileAsAssetReferences"); - }); - - modelBuilder.Entity("ClientServer.Models.Files.FileReferenceMarkdownAsset", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("Hash") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("MimeType") - .HasMaxLength(2000); - - b.Property<string>("OriginalName") - .HasMaxLength(2000); - - b.Property<long>("SizeInBytes"); - - b.HasKey("Id"); - - b.ToTable("FileReferenceMarkdownAssets"); - }); - - modelBuilder.Entity("ClientServer.Models.Files.FileReferenceTestAsset", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("Hash") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("MimeType") - .HasMaxLength(2000); - - b.Property<string>("OriginalName") - .HasMaxLength(2000); - - b.Property<long>("SizeInBytes"); - - b.HasKey("Id"); - - b.ToTable("FileReferenceTestAssets"); - }); - - modelBuilder.Entity("ClientServer.Models.Files.FileReferenceUserFileAsset", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("Hash") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("MimeType") - .HasMaxLength(2000); - - b.Property<string>("OriginalName") - .HasMaxLength(2000); - - b.Property<long>("SizeInBytes"); - - b.HasKey("Id"); - - b.ToTable("FileReferenceUserFileAssets"); - }); - - modelBuilder.Entity("ClientServer.Models.Lang", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("LangShortcut") - .HasMaxLength(2000); - - b.Property<string>("Language") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.ToTable("Langs"); - }); - - modelBuilder.Entity("ClientServer.Models.PLang", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<string>("EditorHighlightModeName") - .HasMaxLength(2000); - - b.Property<string>("FileExtensionsWithDot") - .HasMaxLength(2000); - - b.Property<string>("InternalName") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.ToTable("PLangs"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.AuthToken", b => - { - b.Property<int>("UserId"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("CsrfToken") - .HasMaxLength(2000); - - b.Property<DateTime>("ExpirationDateTime"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("RandomSecret") - .HasMaxLength(2000); - - b.Property<string>("UserAuthToken") - .HasMaxLength(2000); - - b.HasKey("UserId"); - - b.HasIndex("UserAuthToken") - .IsUnique(); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("AuthTokens"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.ExternalUser", b => - { - b.Property<int>("ExternalId") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("Email") - .HasMaxLength(2000); - - b.Property<string>("FirstName") - .HasMaxLength(2000); - - b.Property<string>("LastName") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool>("NeedToRefreshData"); - - b.Property<string>("Token") - .IsRequired() - .HasMaxLength(2000); - - b.Property<int>("UserId"); - - b.HasKey("ExternalId"); - - b.HasAlternateKey("Token") - .HasName("Unique_ExternalToken"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("ExternalUsers"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.GroupRole", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.ToTable("GroupRoles"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.GroupRolePermission", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<bool>("CanAddUserToGroup"); - - b.Property<bool>("CanAssessExercises"); - - b.Property<bool>("CanChangeExercises"); - - b.Property<bool>("CanChangeGroupData"); - - b.Property<bool>("CanChangeOtherMembersRole"); - - b.Property<bool>("CanCreateExercises"); - - b.Property<bool>("CanDeleteExercises"); - - b.Property<bool>("CanLockExercisesPermanently"); - - b.Property<bool>("CanManageExerciseReleases"); - - b.Property<bool>("CanRemoveMemberFromGroup"); - - b.Property<bool>("CanSeeExercisesFromOthersInGroup"); - - b.Property<bool>("CanSeeOtherMembers"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("GroupRoleId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.HasIndex("GroupRoleId") - .IsUnique(); - - b.ToTable("GroupRolePermissions"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.Settings.CodeEditorSetting", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("FontSize"); - - b.Property<bool>("HighlightCurrentLine"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<bool>("ShowInvisibles"); - - b.Property<bool>("ShowLineIndentions"); - - b.Property<bool>("ShowLineNumbers"); - - b.Property<int>("TabSize"); - - b.Property<string>("Theme") - .HasMaxLength(2000); - - b.Property<bool>("UseWrapping"); - - b.Property<int>("UserSettingId"); - - b.HasKey("Id"); - - b.HasIndex("UserSettingId") - .IsUnique(); - - b.ToTable("CodeEditorSettings"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.Settings.UserSetting", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int?>("LangId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("Theme") - .HasMaxLength(2000); - - b.Property<int?>("UserId"); - - b.HasKey("Id"); - - b.HasIndex("LangId"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSettingses"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.SystemRole", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<string>("Email") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.ToTable("SystemRoles"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.SystemRolePermission", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<bool>("CanChangeOtherUsersSystemRole"); - - b.Property<bool>("CanChangeRoles"); - - b.Property<bool>("CanChangeSystemSettings"); - - b.Property<bool>("CanChangeUserData"); - - b.Property<bool>("CanCreateGroups"); - - b.Property<bool>("CanCreateRoles"); - - b.Property<bool>("CanDeleteActivatedUsers"); - - b.Property<bool>("CanDeleteGroups"); - - b.Property<bool>("CanDeleteRoles"); - - b.Property<bool>("CanManageNewUsers"); - - b.Property<bool>("CanManageTags"); - - b.Property<bool>("CanViewDashboard"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("SystemRoleId"); - - b.HasKey("Id"); - - b.HasIndex("SystemRoleId") - .IsUnique(); - - b.ToTable("SystemRolePermissions"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.SystemSetting", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("CurrentServerMessage") - .HasMaxLength(10000); - - b.Property<int>("CustomProjectTestCompileTimeoutInMs"); - - b.Property<int>("CustomProjectTestMaxDiskSpaceInKb"); - - b.Property<int>("CustomProjectTestMemoryLimitInKb"); - - b.Property<int>("CustomProjectTestTimeoutInMs"); - - b.Property<int>("DefaultGroupCreatorGroupRoleId"); - - b.Property<int>("DefaultGroupRoleId"); - - b.Property<int>("DefaultUserGroupId"); - - b.Property<int>("JustRunProgramCompileTimeoutInMs"); - - b.Property<int>("JustRunProgramMaxDiskSpaceInKb"); - - b.Property<int>("JustRunProgramMemoryLimitInKb"); - - b.Property<int>("JustRunProgramTimeoutInMs"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<int>("MaxCustomProjectsPerUser"); - - b.Property<int>("MaxCustomTestsPerParticipation"); - - b.Property<int>("MaxNumberOfTestsWithOneRequest"); - - b.Property<int>("MaxNumberOfTestsWithOneRequestSubmitTestServer"); - - b.Property<int>("SubmitTestServerTimeoutInMs"); - - b.Property<string>("SubmitTestServerUrl") - .HasMaxLength(2000); - - b.Property<string>("TestServerConfigUiUrl") - .HasMaxLength(2000); - - b.Property<string>("TestServerStatsUrl") - .HasMaxLength(2000); - - b.Property<int>("TestServerTimeoutInMs"); - - b.Property<string>("TestServerUrl") - .HasMaxLength(2000); - - b.HasKey("Id"); - - b.HasIndex("DefaultGroupCreatorGroupRoleId") - .IsUnique(); - - b.HasIndex("DefaultGroupRoleId") - .IsUnique(); - - b.HasIndex("DefaultUserGroupId") - .IsUnique(); - - b.ToTable("SystemSettings"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.User", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("Email") - .HasMaxLength(2000); - - b.Property<string>("FirstName") - .HasMaxLength(2000); - - b.Property<bool>("IsActivated"); - - b.Property<DateTime>("LastLoginAt"); - - b.Property<string>("LastName") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.Property<string>("Password") - .HasMaxLength(2000); - - b.Property<int?>("SystemRoleId"); - - b.Property<string>("Token") - .IsRequired() - .HasMaxLength(2000); - - b.HasKey("Id"); - - b.HasAlternateKey("Token") - .HasName("Unique_Token"); - - b.HasIndex("SystemRoleId"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.UserGroup", b => - { - b.Property<int>("Id") - .ValueGeneratedOnAdd(); - - b.Property<DateTime>("CreatedAt"); - - b.Property<string>("DisplayName") - .HasMaxLength(2000); - - b.Property<string>("Email") - .HasMaxLength(2000); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("Id"); - - b.ToTable("UserGroups"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.UserWithUserGroup", b => - { - b.Property<int>("UserId"); - - b.Property<int>("UserGroupId"); - - b.Property<DateTime>("CreatedAt"); - - b.Property<int>("GroupRoleId"); - - b.Property<DateTime>("LastUpdatedAt"); - - b.HasKey("UserId", "UserGroupId"); - - b.HasIndex("GroupRoleId"); - - b.HasIndex("UserGroupId"); - - b.HasIndex("UserId"); - - b.ToTable("UserWithUserGroups"); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProject", b => - { - b.HasOne("ClientServer.Models.Users.User", "User") - .WithMany("CustomProjects") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectDescription", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProject", "CustomProject") - .WithOne("Description") - .HasForeignKey("ClientServer.Models.CustomProjects.CustomProjectDescription", "CustomProjectId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectDescriptionWithFileAsAssetReference", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProjectDescription", "CustomProjectDescription") - .WithMany("AssetReferences") - .HasForeignKey("CustomProjectDescriptionId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Files.FileReferenceUserFileAsset", "FileReferenceUserFileAsset") - .WithMany("CustomProjectDescriptionWithFileAsAssetReferences") - .HasForeignKey("FileReferenceUserFileAssetId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectSolution", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProject", "CustomProject") - .WithMany("Solutions") - .HasForeignKey("CustomProjectId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.CustomProjects.CustomProjectSolutionFile", "MainFile") - .WithOne() - .HasForeignKey("ClientServer.Models.CustomProjects.CustomProjectSolution", "MainFileId") - .OnDelete(DeleteBehavior.SetNull); - - b.HasOne("ClientServer.Models.PLang", "PLang") - .WithMany() - .HasForeignKey("PLangId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectSolutionFile", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProjectSolution") - .WithMany("SolutionFiles") - .HasForeignKey("CustomProjectSolutionId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTest", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProject", "CustomProject") - .WithMany("Tests") - .HasForeignKey("CustomProjectId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Tests.TestType", "TestType") - .WithMany() - .HasForeignKey("TestTypeId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTestSettings", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProjectTest", "CustomProjectTest") - .WithOne("CustomProjectTestSettings") - .HasForeignKey("ClientServer.Models.CustomProjects.CustomProjectTestSettings", "CustomProjectTestId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTestWithFileAsAssetReference", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProjectTest", "CustomProjectTest") - .WithMany("AssetReferences") - .HasForeignKey("CustomProjectTestId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Files.FileReferenceUserFileAsset", "FileReferenceUserFileAsset") - .WithMany("CustomProjectTestWithFileAsAssetReferences") - .HasForeignKey("FileReferenceUserFileAssetId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.CustomProjects.CustomProjectTestWithSolutionAsTestResult", b => - { - b.HasOne("ClientServer.Models.CustomProjects.CustomProjectSolution", "CustomProjectSolution") - .WithMany("TestResults") - .HasForeignKey("CustomProjectSolutionId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.CustomProjects.CustomProjectTest", "CustomProjectTest") - .WithMany("TestResults") - .HasForeignKey("CustomProjectTestId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.AfterSolution", b => - { - b.HasOne("ClientServer.Models.Exercises.AfterSolutions.AfterSolutionFile", "MainFile") - .WithOne() - .HasForeignKey("ClientServer.Models.Exercises.AfterSolutions.AfterSolution", "MainFileId") - .OnDelete(DeleteBehavior.SetNull); - - b.HasOne("ClientServer.Models.Exercises.Solution.Solution", "Solution") - .WithOne("AfterSolution") - .HasForeignKey("ClientServer.Models.Exercises.AfterSolutions.AfterSolution", "SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.AfterSolutionFile", b => - { - b.HasOne("ClientServer.Models.Exercises.AfterSolutions.AfterSolution", "AfterSolution") - .WithMany("SolutionFiles") - .HasForeignKey("AfterSolutionId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.TemplateFile", "TemplateFile") - .WithMany() - .HasForeignKey("TemplateFileId"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.CustomTestWithAfterSolutionAsTestResult", b => - { - b.HasOne("ClientServer.Models.Exercises.AfterSolutions.AfterSolution", "AfterSolution") - .WithMany("CustomTestResults") - .HasForeignKey("AfterSolutionId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Tests.CustomTest", "CustomTest") - .WithMany("AfterTestResults") - .HasForeignKey("CustomTestId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.AfterSolutions.TestWithAfterSolutionAsTestResult", b => - { - b.HasOne("ClientServer.Models.Exercises.AfterSolutions.AfterSolution", "AfterSolution") - .WithMany("TestResults") - .HasForeignKey("AfterSolutionId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Tests.Test", "Test") - .WithMany("AfterTestResults") - .HasForeignKey("TestId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.CodeTemplate", b => - { - b.HasOne("ClientServer.Models.Exercises.Exercise", "Exercise") - .WithMany("CodeTemplates") - .HasForeignKey("ExerciseId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.TemplateFile", "MainFile") - .WithOne() - .HasForeignKey("ClientServer.Models.Exercises.CodeTemplate", "MainFileId") - .OnDelete(DeleteBehavior.SetNull); - - b.HasOne("ClientServer.Models.PLang", "PLang") - .WithMany() - .HasForeignKey("PLangId"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.CustomTestWithFileAsAssetReference", b => - { - b.HasOne("ClientServer.Models.Exercises.Tests.CustomTest", "CustomTest") - .WithMany("AssetReferences") - .HasForeignKey("CustomTestId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Files.FileReferenceUserFileAsset", "FileReferenceUserFileAsset") - .WithMany("CustomTestWithFileAsAssetReferences") - .HasForeignKey("FileReferenceUserFileAssetId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Exercise", b => - { - b.HasOne("ClientServer.Models.Users.UserGroup", "UserGroup") - .WithMany("Exercises") - .HasForeignKey("UserGroupId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Users.User", "User") - .WithMany("Exercises") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.SetNull); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.ExerciseDescription", b => - { - b.HasOne("ClientServer.Models.Exercises.Exercise", "Exercise") - .WithOne("Description") - .HasForeignKey("ClientServer.Models.Exercises.ExerciseDescription", "ExerciseId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.ExerciseDescriptionWithFileAsAssetReference", b => - { - b.HasOne("ClientServer.Models.Exercises.ExerciseDescription", "ExerciseDescription") - .WithMany("AssetReferences") - .HasForeignKey("ExerciseDescriptionId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Files.FileReferenceMarkdownAsset", "FileReferenceMarkdownAsset") - .WithMany("AssetReferences") - .HasForeignKey("FileReferenceMarkdownAssetId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.MetaData", b => - { - b.HasOne("ClientServer.Models.Exercises.Exercise", "Exercise") - .WithOne("MetaData") - .HasForeignKey("ClientServer.Models.Exercises.MetaData", "ExerciseId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Release.ExerciseRelease", b => - { - b.HasOne("ClientServer.Models.Exercises.Exercise", "Exercise") - .WithMany("Releases") - .HasForeignKey("ExerciseId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.PLang", "PLang") - .WithMany() - .HasForeignKey("PLangId"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.CustomTestWithSingleSolutionAsTestResult", b => - { - b.HasOne("ClientServer.Models.Exercises.Tests.CustomTest", "CustomTest") - .WithMany("TestResultsNew") - .HasForeignKey("CustomTestId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Solution.Solution", "Solution") - .WithMany("CustomTestResults") - .HasForeignKey("SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.ExerciseReleaseWithUserAsParticipation", b => - { - b.HasOne("ClientServer.Models.Exercises.Release.ExerciseRelease", "ExerciseRelease") - .WithMany("ExerciseReleaseWithUserAsParticipations") - .HasForeignKey("ExerciseReleaseId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.PLang", "LastEditedPLang") - .WithMany() - .HasForeignKey("LastEditedPLangId"); - - b.HasOne("ClientServer.Models.Users.User", "User") - .WithMany("ExerciseReleaseWithUserAsParticipations") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.Solution", b => - { - b.HasOne("ClientServer.Models.Exercises.Solution.SolutionFile", "MainFile") - .WithOne() - .HasForeignKey("ClientServer.Models.Exercises.Solution.Solution", "MainFileId") - .OnDelete(DeleteBehavior.SetNull); - - b.HasOne("ClientServer.Models.PLang", "PLang") - .WithMany() - .HasForeignKey("PLangId"); - - b.HasOne("ClientServer.Models.Exercises.Solution.ExerciseReleaseWithUserAsParticipation", "ExerciseReleaseWithUserAsParticipation") - .WithMany("Solutions") - .HasForeignKey("UserId", "ExerciseReleaseId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.SolutionAssessment", b => - { - b.HasOne("ClientServer.Models.Exercises.Solution.Solution", "Solution") - .WithOne("Assessment") - .HasForeignKey("ClientServer.Models.Exercises.Solution.SolutionAssessment", "UserId", "ExerciseReleaseId", "PLangId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.SolutionFile", b => - { - b.HasOne("ClientServer.Models.Exercises.TemplateFile", "TemplateFile") - .WithMany("SolutionParts") - .HasForeignKey("TemplateFileId") - .OnDelete(DeleteBehavior.SetNull); - - b.HasOne("ClientServer.Models.Exercises.Solution.Solution", "Solution") - .WithMany("SolutionFiles") - .HasForeignKey("SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Solution.TestWithSingleSolutionAsTestResult", b => - { - b.HasOne("ClientServer.Models.Exercises.Tests.Test", "Test") - .WithMany("TestResultsNew") - .HasForeignKey("TestId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Solution.Solution", "Solution") - .WithMany("TestResults") - .HasForeignKey("SolutionUserId", "SolutionExerciseReleaseId", "SolutionPLangId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.TagWithMetaData", b => - { - b.HasOne("ClientServer.Models.Exercises.MetaData", "MetaData") - .WithMany("TagWithMetaDatas") - .HasForeignKey("MetaDataId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Tag", "Tag") - .WithMany() - .HasForeignKey("TagId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.TemplateFile", b => - { - b.HasOne("ClientServer.Models.Exercises.CodeTemplate") - .WithMany("TemplateFiles") - .HasForeignKey("CodeTemplateId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.CustomTest", b => - { - b.HasOne("ClientServer.Models.Exercises.Tests.TestType", "TestType") - .WithMany() - .HasForeignKey("TestTypeId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Solution.ExerciseReleaseWithUserAsParticipation") - .WithMany("CustomTests") - .HasForeignKey("UserId", "ExerciseReleaseId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.DefaultCustomTestSettings", b => - { - b.HasOne("ClientServer.Models.Exercises.Exercise", "Exercise") - .WithOne("DefaultCustomTestSettings") - .HasForeignKey("ClientServer.Models.Exercises.Tests.DefaultCustomTestSettings", "ExerciseId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.Test", b => - { - b.HasOne("ClientServer.Models.Exercises.Exercise", "Exercise") - .WithMany("Tests") - .HasForeignKey("ExerciseId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Tests.TestType", "TestType") - .WithMany() - .HasForeignKey("TestTypeId"); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.Tests.TestSettings", b => - { - b.HasOne("ClientServer.Models.Exercises.Tests.Test", "Test") - .WithOne("TestSettings") - .HasForeignKey("ClientServer.Models.Exercises.Tests.TestSettings", "TestId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Exercises.TestWithFileAsAssetReference", b => - { - b.HasOne("ClientServer.Models.Files.FileReferenceTestAsset", "FileReferenceTestAsset") - .WithMany("AssetReferences") - .HasForeignKey("FileReferenceTestAssetId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Exercises.Tests.Test", "Test") - .WithMany("AssetReferences") - .HasForeignKey("TestId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Users.AuthToken", b => - { - b.HasOne("ClientServer.Models.Users.User", "User") - .WithOne() - .HasForeignKey("ClientServer.Models.Users.AuthToken", "UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Users.ExternalUser", b => - { - b.HasOne("ClientServer.Models.Users.User", "User") - .WithOne("ExternalUser") - .HasForeignKey("ClientServer.Models.Users.ExternalUser", "UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Users.GroupRolePermission", b => - { - b.HasOne("ClientServer.Models.Users.GroupRole", "GroupRole") - .WithOne("GroupRolePermission") - .HasForeignKey("ClientServer.Models.Users.GroupRolePermission", "GroupRoleId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Users.Settings.CodeEditorSetting", b => - { - b.HasOne("ClientServer.Models.Users.Settings.UserSetting", "UserSetting") - .WithOne("CodeEditorSetting") - .HasForeignKey("ClientServer.Models.Users.Settings.CodeEditorSetting", "UserSettingId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Users.Settings.UserSetting", b => - { - b.HasOne("ClientServer.Models.Lang", "Lang") - .WithMany() - .HasForeignKey("LangId") - .OnDelete(DeleteBehavior.SetNull); - - b.HasOne("ClientServer.Models.Users.User", "User") - .WithOne("UserSettings") - .HasForeignKey("ClientServer.Models.Users.Settings.UserSetting", "UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Users.SystemRolePermission", b => - { - b.HasOne("ClientServer.Models.Users.SystemRole", "SystemRole") - .WithOne("SystemRolePermission") - .HasForeignKey("ClientServer.Models.Users.SystemRolePermission", "SystemRoleId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("ClientServer.Models.Users.SystemSetting", b => - { - b.HasOne("ClientServer.Models.Users.GroupRole", "DefaultGroupCreatorGroupRole") - .WithOne() - .HasForeignKey("ClientServer.Models.Users.SystemSetting", "DefaultGroupCreatorGroupRoleId"); - - b.HasOne("ClientServer.Models.Users.GroupRole", "DefaultGroupRole") - .WithOne() - .HasForeignKey("ClientServer.Models.Users.SystemSetting", "DefaultGroupRoleId"); - - b.HasOne("ClientServer.Models.Users.UserGroup", "DefaultUserGroup") - .WithOne() - .HasForeignKey("ClientServer.Models.Users.SystemSetting", "DefaultUserGroupId"); - }); - - modelBuilder.Entity("ClientServer.Models.Users.User", b => - { - b.HasOne("ClientServer.Models.Users.SystemRole", "SystemRole") - .WithMany() - .HasForeignKey("SystemRoleId") - .OnDelete(DeleteBehavior.SetNull); - }); - - modelBuilder.Entity("ClientServer.Models.Users.UserWithUserGroup", b => - { - b.HasOne("ClientServer.Models.Users.GroupRole", "GroupRole") - .WithMany("UserUserGroups") - .HasForeignKey("GroupRoleId"); - - b.HasOne("ClientServer.Models.Users.UserGroup", "UserGroup") - .WithMany("UserWithUserGroups") - .HasForeignKey("UserGroupId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("ClientServer.Models.Users.User", "User") - .WithMany("UserWithUserGroups") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade); - }); - } - } -} diff --git a/src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.cs b/src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.cs deleted file mode 100755 index bd7fd88..0000000 --- a/src/ClientServer/Migrations/20190801163155_addFakeFksToOtherSidesStep2.cs +++ /dev/null @@ -1,354 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace ClientServer.Migrations -{ - public partial class addFakeFksToOtherSidesStep2 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_Solutions_SolutionAssessment_AssessmentId", - table: "Solutions"); - - migrationBuilder.DropForeignKey( - name: "FK_Tests_TestCaseSettingses_TestSettingsId", - table: "Tests"); - - migrationBuilder.DropForeignKey( - name: "FK_GroupRoles_GroupRolePermissions_GroupRolePermissionId", - table: "GroupRoles"); - - migrationBuilder.DropForeignKey( - name: "FK_UserSettingses_CodeEditorSettings_CodeEditorSettingsId", - table: "UserSettingses"); - - migrationBuilder.DropForeignKey( - name: "FK_SystemRoles_SystemRolePermissions_SystemRolePermissionId", - table: "SystemRoles"); - - migrationBuilder.DropIndex( - name: "IX_SystemRoles_SystemRolePermissionId", - table: "SystemRoles"); - - migrationBuilder.DropIndex( - name: "IX_UserSettingses_CodeEditorSettingsId", - table: "UserSettingses"); - - migrationBuilder.DropIndex( - name: "IX_GroupRoles_GroupRolePermissionId", - table: "GroupRoles"); - - migrationBuilder.DropIndex( - name: "IX_Tests_TestSettingsId", - table: "Tests"); - - migrationBuilder.DropIndex( - name: "IX_Solutions_AssessmentId", - table: "Solutions"); - - migrationBuilder.DropIndex( - name: "IX_CustomProjectTests_TestSettingsId", - table: "CustomProjectTests"); - - migrationBuilder.DropColumn( - name: "SystemRolePermissionId", - table: "SystemRoles"); - - migrationBuilder.DropColumn( - name: "CodeEditorSettingsId", - table: "UserSettingses"); - - migrationBuilder.DropColumn( - name: "GroupRolePermissionId", - table: "GroupRoles"); - - migrationBuilder.DropColumn( - name: "TestSettingsId", - table: "Tests"); - - migrationBuilder.DropColumn( - name: "AssessmentId", - table: "Solutions"); - - migrationBuilder.DropColumn( - name: "TestSettingsId", - table: "CustomProjectTests"); - - migrationBuilder.AddColumn<DateTime>( - name: "CreatedAt", - table: "SolutionAssessment", - nullable: false, - defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); - - migrationBuilder.AddColumn<DateTime>( - name: "LastUpdatedAt", - table: "SolutionAssessment", - nullable: false, - defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); - - migrationBuilder.CreateIndex( - name: "IX_SystemRolePermissions_SystemRoleId", - table: "SystemRolePermissions", - column: "SystemRoleId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_CodeEditorSettings_UserSettingId", - table: "CodeEditorSettings", - column: "UserSettingId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_GroupRolePermissions_GroupRoleId", - table: "GroupRolePermissions", - column: "GroupRoleId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_TestCaseSettingses_TestId", - table: "TestCaseSettingses", - column: "TestId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_SolutionAssessment_UserId_ExerciseReleaseId_PLangId", - table: "SolutionAssessment", - columns: new[] { "UserId", "ExerciseReleaseId", "PLangId" }, - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_CustomProjectTestSettings_CustomProjectTestId", - table: "CustomProjectTestSettings", - column: "CustomProjectTestId", - unique: true); - - migrationBuilder.AddForeignKey( - name: "FK_CustomProjectTestSettings_CustomProjectTests_CustomProjectTestId", - table: "CustomProjectTestSettings", - column: "CustomProjectTestId", - principalTable: "CustomProjectTests", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_SolutionAssessment_Solutions_UserId_ExerciseReleaseId_PLangId", - table: "SolutionAssessment", - columns: new[] { "UserId", "ExerciseReleaseId", "PLangId" }, - principalTable: "Solutions", - principalColumns: new[] { "UserId", "ExerciseReleaseId", "PLangId" }, - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_TestCaseSettingses_Tests_TestId", - table: "TestCaseSettingses", - column: "TestId", - principalTable: "Tests", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_GroupRolePermissions_GroupRoles_GroupRoleId", - table: "GroupRolePermissions", - column: "GroupRoleId", - principalTable: "GroupRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_CodeEditorSettings_UserSettingses_UserSettingId", - table: "CodeEditorSettings", - column: "UserSettingId", - principalTable: "UserSettingses", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_SystemRolePermissions_SystemRoles_SystemRoleId", - table: "SystemRolePermissions", - column: "SystemRoleId", - principalTable: "SystemRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_CustomProjectTestSettings_CustomProjectTests_CustomProjectTestId", - table: "CustomProjectTestSettings"); - - migrationBuilder.DropForeignKey( - name: "FK_SolutionAssessment_Solutions_UserId_ExerciseReleaseId_PLangId", - table: "SolutionAssessment"); - - migrationBuilder.DropForeignKey( - name: "FK_TestCaseSettingses_Tests_TestId", - table: "TestCaseSettingses"); - - migrationBuilder.DropForeignKey( - name: "FK_GroupRolePermissions_GroupRoles_GroupRoleId", - table: "GroupRolePermissions"); - - migrationBuilder.DropForeignKey( - name: "FK_CodeEditorSettings_UserSettingses_UserSettingId", - table: "CodeEditorSettings"); - - migrationBuilder.DropForeignKey( - name: "FK_SystemRolePermissions_SystemRoles_SystemRoleId", - table: "SystemRolePermissions"); - - migrationBuilder.DropIndex( - name: "IX_SystemRolePermissions_SystemRoleId", - table: "SystemRolePermissions"); - - migrationBuilder.DropIndex( - name: "IX_CodeEditorSettings_UserSettingId", - table: "CodeEditorSettings"); - - migrationBuilder.DropIndex( - name: "IX_GroupRolePermissions_GroupRoleId", - table: "GroupRolePermissions"); - - migrationBuilder.DropIndex( - name: "IX_TestCaseSettingses_TestId", - table: "TestCaseSettingses"); - - migrationBuilder.DropIndex( - name: "IX_SolutionAssessment_UserId_ExerciseReleaseId_PLangId", - table: "SolutionAssessment"); - - migrationBuilder.DropIndex( - name: "IX_CustomProjectTestSettings_CustomProjectTestId", - table: "CustomProjectTestSettings"); - - migrationBuilder.DropColumn( - name: "CreatedAt", - table: "SolutionAssessment"); - - migrationBuilder.DropColumn( - name: "LastUpdatedAt", - table: "SolutionAssessment"); - - migrationBuilder.AddColumn<int>( - name: "SystemRolePermissionId", - table: "SystemRoles", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn<int>( - name: "CodeEditorSettingsId", - table: "UserSettingses", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn<int>( - name: "GroupRolePermissionId", - table: "GroupRoles", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn<int>( - name: "TestSettingsId", - table: "Tests", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn<int>( - name: "AssessmentId", - table: "Solutions", - nullable: true); - - migrationBuilder.AddColumn<int>( - name: "TestSettingsId", - table: "CustomProjectTests", - nullable: false, - defaultValue: 0); - - migrationBuilder.CreateIndex( - name: "IX_SystemRoles_SystemRolePermissionId", - table: "SystemRoles", - column: "SystemRolePermissionId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_UserSettingses_CodeEditorSettingsId", - table: "UserSettingses", - column: "CodeEditorSettingsId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_GroupRoles_GroupRolePermissionId", - table: "GroupRoles", - column: "GroupRolePermissionId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_Tests_TestSettingsId", - table: "Tests", - column: "TestSettingsId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_Solutions_AssessmentId", - table: "Solutions", - column: "AssessmentId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_CustomProjectTests_TestSettingsId", - table: "CustomProjectTests", - column: "TestSettingsId", - unique: true); - - migrationBuilder.AddForeignKey( - name: "FK_CustomProjectTests_TestCaseSettingses_TestSettingsId", - table: "CustomProjectTests", - column: "TestSettingsId", - principalTable: "TestCaseSettingses", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_Solutions_SolutionAssessment_AssessmentId", - table: "Solutions", - column: "AssessmentId", - principalTable: "SolutionAssessment", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_Tests_TestCaseSettingses_TestSettingsId", - table: "Tests", - column: "TestSettingsId", - principalTable: "TestCaseSettingses", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_GroupRoles_GroupRolePermissions_GroupRolePermissionId", - table: "GroupRoles", - column: "GroupRolePermissionId", - principalTable: "GroupRolePermissions", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_UserSettingses_CodeEditorSettings_CodeEditorSettingsId", - table: "UserSettingses", - column: "CodeEditorSettingsId", - principalTable: "CodeEditorSettings", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_SystemRoles_SystemRolePermissions_SystemRolePermissionId", - table: "SystemRoles", - column: "SystemRolePermissionId", - principalTable: "SystemRolePermissions", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - } - } -} diff --git a/src/ClientServer/Migrations/YapexDbContextModelSnapshot.cs b/src/ClientServer/Migrations/YapexDbContextModelSnapshot.cs index 52b95a5..ba905ac 100755 --- a/src/ClientServer/Migrations/YapexDbContextModelSnapshot.cs +++ b/src/ClientServer/Migrations/YapexDbContextModelSnapshot.cs @@ -4,7 +4,6 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using ClientServer.Db; -using ClientServer.Models.Exercises.Release; namespace ClientServer.Migrations { -- GitLab