// using System; using InternshipSystem.Repository; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace InternshipSystem.Repository.Migrations { [DbContext(typeof(InternshipDbContext))] [Migration("20200828182238_Init")] partial class Init { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) .HasAnnotation("ProductVersion", "3.1.4") .HasAnnotation("Relational:MaxIdentifierLength", 63); modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("CompanyId") .HasColumnName("company_id") .HasColumnType("bigint"); b.HasKey("Id") .HasName("pk_branch_office"); b.HasIndex("CompanyId") .HasName("ix_branch_office_company_id"); b.ToTable("branch_office"); }); modelBuilder.Entity("InternshipSystem.Core.Company", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnName("name") .HasColumnType("text"); b.Property("Nip") .IsRequired() .HasColumnName("nip") .HasColumnType("text"); b.Property("Range") .HasColumnName("range") .HasColumnType("integer"); b.Property("SiteAddress") .HasColumnName("site_address") .HasColumnType("text"); b.HasKey("Id") .HasName("pk_companies"); b.ToTable("companies"); }); modelBuilder.Entity("InternshipSystem.Core.Course", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnName("name") .HasColumnType("text"); b.HasKey("Id") .HasName("pk_course"); b.ToTable("course"); }); modelBuilder.Entity("InternshipSystem.Core.Document", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Description") .HasColumnName("description") .HasColumnType("text"); b.Property("InternshipId") .HasColumnName("internship_id") .HasColumnType("bigint"); b.Property("InternshipId1") .HasColumnName("internship_id1") .HasColumnType("bigint"); b.Property("RejectionReason") .HasColumnName("rejection_reason") .HasColumnType("text"); b.Property("Scan") .HasColumnName("scan") .HasColumnType("bytea"); b.Property("State") .HasColumnName("state") .HasColumnType("integer"); b.Property("Type") .HasColumnName("type") .HasColumnType("integer"); b.HasKey("Id") .HasName("pk_document"); b.HasIndex("InternshipId") .HasName("ix_document_internship_id"); b.HasIndex("InternshipId1") .HasName("ix_document_internship_id1"); b.ToTable("document"); }); modelBuilder.Entity("InternshipSystem.Core.Edition", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("uuid"); b.Property("CourseId") .HasColumnName("course_id") .HasColumnType("bigint"); b.Property("EditionFinish") .HasColumnName("edition_finish") .HasColumnType("timestamp without time zone"); b.Property("EditionStart") .HasColumnName("edition_start") .HasColumnType("timestamp without time zone"); b.Property("ReportingStart") .HasColumnName("reporting_start") .HasColumnType("timestamp without time zone"); b.HasKey("Id") .HasName("pk_editions"); b.HasIndex("CourseId") .HasName("ix_editions_course_id"); b.ToTable("editions"); }); modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipSubject", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Description") .HasColumnName("description") .HasColumnType("text"); b.HasKey("Id") .HasName("pk_internship_subject"); b.ToTable("internship_subject"); }); modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipType", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Description") .HasColumnName("description") .HasColumnType("text"); b.Property("Type") .HasColumnName("type") .HasColumnType("text"); b.HasKey("Id") .HasName("pk_internship_type"); b.ToTable("internship_type"); }); modelBuilder.Entity("InternshipSystem.Core.Internship", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("EditionId") .HasColumnName("edition_id") .HasColumnType("uuid"); b.Property("Grade") .HasColumnName("grade") .HasColumnType("real"); b.Property("InternshipProgramId") .HasColumnName("internship_program_id") .HasColumnType("bigint"); b.Property("InternshipRegistrationId") .HasColumnName("internship_registration_id") .HasColumnType("bigint"); b.Property("ReportId") .HasColumnName("report_id") .HasColumnType("bigint"); b.Property("StudentId") .HasColumnName("student_id") .HasColumnType("bigint"); b.HasKey("Id") .HasName("pk_internship"); b.HasIndex("EditionId") .HasName("ix_internship_edition_id"); b.HasIndex("InternshipProgramId") .HasName("ix_internship_internship_program_id"); b.HasIndex("InternshipRegistrationId") .HasName("ix_internship_internship_registration_id"); b.HasIndex("ReportId") .HasName("ix_internship_report_id"); b.HasIndex("StudentId") .HasName("ix_internship_student_id"); b.ToTable("internship"); }); modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("State") .HasColumnName("state") .HasColumnType("integer"); b.HasKey("Id") .HasName("pk_internship_program"); b.ToTable("internship_program"); }); modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("BranchAddressId") .HasColumnName("branch_address_id") .HasColumnType("bigint"); b.Property("CompanyId") .HasColumnName("company_id") .HasColumnType("bigint"); b.Property("End") .HasColumnName("end") .HasColumnType("timestamp without time zone"); b.Property("Start") .HasColumnName("start") .HasColumnType("timestamp without time zone"); b.Property("State") .HasColumnName("state") .HasColumnType("integer"); b.Property("TypeId") .HasColumnName("type_id") .HasColumnType("bigint"); b.HasKey("Id") .HasName("pk_internship_registration"); b.HasIndex("BranchAddressId") .HasName("ix_internship_registration_branch_address_id"); b.HasIndex("CompanyId") .HasName("ix_internship_registration_company_id"); b.HasIndex("TypeId") .HasName("ix_internship_registration_type_id"); b.ToTable("internship_registration"); }); modelBuilder.Entity("InternshipSystem.Core.Report", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("State") .HasColumnName("state") .HasColumnType("integer"); b.HasKey("Id") .HasName("pk_report"); b.ToTable("report"); }); modelBuilder.Entity("InternshipSystem.Core.Student", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AlbumNumber") .HasColumnName("album_number") .HasColumnType("integer"); b.Property("Email") .HasColumnName("email") .HasColumnType("text"); b.Property("FirstName") .HasColumnName("first_name") .HasColumnType("text"); b.Property("LastName") .HasColumnName("last_name") .HasColumnType("text"); b.Property("Semester") .HasColumnName("semester") .HasColumnType("integer"); b.HasKey("Id") .HasName("pk_student"); b.ToTable("student"); }); modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => { b.Property("EditionId") .HasColumnName("edition_id") .HasColumnType("uuid"); b.Property("InternshipSubjectId") .HasColumnName("internship_subject_id") .HasColumnType("bigint"); b.HasKey("EditionId", "InternshipSubjectId") .HasName("pk_edition_subject"); b.HasIndex("InternshipSubjectId") .HasName("ix_edition_subject_internship_subject_id"); b.ToTable("edition_subject"); }); modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => { b.Property("InternshipProgramId") .HasColumnName("internship_program_id") .HasColumnType("bigint"); b.Property("InternshipSubjectId") .HasColumnName("internship_subject_id") .HasColumnType("bigint"); b.HasKey("InternshipProgramId", "InternshipSubjectId") .HasName("pk_program_subject"); b.HasIndex("InternshipSubjectId") .HasName("ix_program_subject_internship_subject_id"); b.ToTable("program_subject"); }); modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => { b.HasOne("InternshipSystem.Core.Company", null) .WithMany("Branches") .HasForeignKey("CompanyId") .HasConstraintName("fk_branch_office_companies_company_id"); b.OwnsOne("InternshipSystem.Core.BranchAddress", "Address", b1 => { b1.Property("BranchOfficeId") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b1.Property("Building") .HasColumnName("building") .HasColumnType("text"); b1.Property("City") .HasColumnName("city") .HasColumnType("text"); b1.Property("Country") .HasColumnName("country") .HasColumnType("text"); b1.Property("PostalCode") .HasColumnName("postal_code") .HasColumnType("text"); b1.Property("Street") .HasColumnName("street") .HasColumnType("text"); b1.HasKey("BranchOfficeId") .HasName("pk_branch_office"); b1.ToTable("branch_office"); b1.WithOwner() .HasForeignKey("BranchOfficeId") .HasConstraintName("fk_branch_address_branch_office_branch_office_id"); }); }); modelBuilder.Entity("InternshipSystem.Core.Document", b => { b.HasOne("InternshipSystem.Core.Internship", null) .WithMany("Approvals") .HasForeignKey("InternshipId") .HasConstraintName("fk_document_internship_internship_id"); b.HasOne("InternshipSystem.Core.Internship", null) .WithMany("Documentation") .HasForeignKey("InternshipId1") .HasConstraintName("fk_document_internship_internship_id1"); }); modelBuilder.Entity("InternshipSystem.Core.Edition", b => { b.HasOne("InternshipSystem.Core.Course", "Course") .WithMany() .HasForeignKey("CourseId") .HasConstraintName("fk_editions_course_course_id"); }); modelBuilder.Entity("InternshipSystem.Core.Internship", b => { b.HasOne("InternshipSystem.Core.Edition", null) .WithMany("Internships") .HasForeignKey("EditionId") .HasConstraintName("fk_internship_editions_edition_id"); b.HasOne("InternshipSystem.Core.InternshipProgram", "InternshipProgram") .WithMany() .HasForeignKey("InternshipProgramId") .HasConstraintName("fk_internship_internship_program_internship_program_id"); b.HasOne("InternshipSystem.Core.InternshipRegistration", "InternshipRegistration") .WithMany() .HasForeignKey("InternshipRegistrationId") .HasConstraintName("fk_internship_internship_registration_internship_registration_"); b.HasOne("InternshipSystem.Core.Report", "Report") .WithMany() .HasForeignKey("ReportId") .HasConstraintName("fk_internship_report_report_id"); b.HasOne("InternshipSystem.Core.Student", "Student") .WithMany() .HasForeignKey("StudentId") .HasConstraintName("fk_internship_student_student_id"); }); modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => { b.OwnsOne("InternshipSystem.Core.Mentor", "Mentor", b1 => { b1.Property("InternshipProgramId") .ValueGeneratedOnAdd() .HasColumnName("id") .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b1.Property("Email") .HasColumnName("email") .HasColumnType("text"); b1.Property("FirstName") .HasColumnName("first_name") .HasColumnType("text"); b1.Property("LastName") .HasColumnName("last_name") .HasColumnType("text"); b1.Property("PhoneNumber") .IsRequired() .HasColumnName("mentor_phone_number") .HasColumnType("text"); b1.HasKey("InternshipProgramId") .HasName("pk_internship_program"); b1.ToTable("internship_program"); b1.WithOwner() .HasForeignKey("InternshipProgramId") .HasConstraintName("fk_mentor_internship_program_internship_program_id"); }); }); modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => { b.HasOne("InternshipSystem.Core.BranchOffice", "BranchAddress") .WithMany() .HasForeignKey("BranchAddressId") .HasConstraintName("fk_internship_registration_branch_office_branch_address_id"); b.HasOne("InternshipSystem.Core.Company", "Company") .WithMany() .HasForeignKey("CompanyId") .HasConstraintName("fk_internship_registration_companies_company_id"); b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipType", "Type") .WithMany() .HasForeignKey("TypeId") .HasConstraintName("fk_internship_registration_internship_type_type_id"); }); modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => { b.HasOne("InternshipSystem.Core.Edition", "Edition") .WithMany("AvailableSubjects") .HasForeignKey("EditionId") .HasConstraintName("fk_edition_subject_editions_edition_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") .WithMany() .HasForeignKey("InternshipSubjectId") .HasConstraintName("fk_edition_subject_internship_subject_internship_subject_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => { b.HasOne("InternshipSystem.Core.InternshipProgram", "Program") .WithMany("ChosenSubjects") .HasForeignKey("InternshipProgramId") .HasConstraintName("fk_program_subject_internship_program_internship_program_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") .WithMany() .HasForeignKey("InternshipSubjectId") .HasConstraintName("fk_program_subject_internship_subject_internship_subject_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); #pragma warning restore 612, 618 } } }