//
using System;
using KTUSAPS.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace KTUSAPS.Data.Migrations
{
[DbContext(typeof(SAPSDataContext))]
[Migration("20210909173149_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Relational:MaxIdentifierLength", 64)
.HasAnnotation("ProductVersion", "5.0.9");
modelBuilder.Entity("KTUSAPS.Data.Model.Admin", b =>
{
b.Property("UserId")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("Comment")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.HasKey("UserId");
b.ToTable("Admins");
});
modelBuilder.Entity("KTUSAPS.Data.Model.Issue", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("Created")
.HasColumnType("datetime(6)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("Email")
.HasMaxLength(320)
.HasColumnType("varchar(320)");
b.Property("Publishable")
.HasColumnType("tinyint(1)");
b.Property("Solved")
.HasColumnType("tinyint(1)");
b.Property("UserID")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.HasKey("Id");
b.ToTable("Issues");
});
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedFeedback", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("Created")
.HasColumnType("datetime(6)");
b.Property("FeedbackEn")
.IsRequired()
.HasColumnType("longtext");
b.Property("FeedbackLt")
.IsRequired()
.HasColumnType("longtext");
b.Property("IssueId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("IssueId")
.IsUnique();
b.ToTable("PublishedFeedbacks");
});
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("Created")
.HasColumnType("datetime(6)");
b.Property("IssueId")
.HasColumnType("int");
b.Property("ProblemEn")
.IsRequired()
.HasColumnType("longtext");
b.Property("ProblemLt")
.IsRequired()
.HasColumnType("longtext");
b.Property("ResponseEn")
.HasColumnType("longtext");
b.Property("ResponseLt")
.HasColumnType("longtext");
b.Property("SolutionId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("IssueId")
.IsUnique();
b.HasIndex("SolutionId")
.IsUnique();
b.ToTable("PublishedProblems");
});
modelBuilder.Entity("KTUSAPS.Data.Model.Solution", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property("Created")
.HasColumnType("datetime(6)");
b.Property("SolutionEn")
.HasColumnType("longtext");
b.Property("SolutionLt")
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("Solutions");
});
modelBuilder.Entity("KTUSAPS.Data.Model.Vote", b =>
{
b.Property("UserId")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("ProblemId")
.HasColumnType("int");
b.HasKey("UserId", "ProblemId");
b.HasIndex("ProblemId");
b.ToTable("Votes");
});
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedFeedback", b =>
{
b.HasOne("KTUSAPS.Data.Model.Issue", "Issue")
.WithOne("Feedback")
.HasForeignKey("KTUSAPS.Data.Model.PublishedFeedback", "IssueId");
b.Navigation("Issue");
});
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
{
b.HasOne("KTUSAPS.Data.Model.Issue", "Issue")
.WithOne("Problem")
.HasForeignKey("KTUSAPS.Data.Model.PublishedProblem", "IssueId");
b.HasOne("KTUSAPS.Data.Model.Solution", "Solution")
.WithOne("Problem")
.HasForeignKey("KTUSAPS.Data.Model.PublishedProblem", "SolutionId");
b.Navigation("Issue");
b.Navigation("Solution");
});
modelBuilder.Entity("KTUSAPS.Data.Model.Vote", b =>
{
b.HasOne("KTUSAPS.Data.Model.PublishedProblem", "Problem")
.WithMany("Votes")
.HasForeignKey("ProblemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Problem");
});
modelBuilder.Entity("KTUSAPS.Data.Model.Issue", b =>
{
b.Navigation("Feedback");
b.Navigation("Problem");
});
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
{
b.Navigation("Votes");
});
modelBuilder.Entity("KTUSAPS.Data.Model.Solution", b =>
{
b.Navigation("Problem");
});
#pragma warning restore 612, 618
}
}
}