feat: add migrations
This commit is contained in:
parent
79118c5283
commit
d2ba2d982c
442
SqlData/Migrations/MysqlMigrations/Migrations/20240601023106_InitialMigration.Designer.cs
generated
Normal file
442
SqlData/Migrations/MysqlMigrations/Migrations/20240601023106_InitialMigration.Designer.cs
generated
Normal file
@ -0,0 +1,442 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Mirea.Api.DataAccess.Persistence;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace MysqlMigrations.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(UberDbContext))]
|
||||||
|
[Migration("20240601023106_InitialMigration")]
|
||||||
|
partial class InitialMigration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "8.0.6")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||||
|
|
||||||
|
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Address")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CodeName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FullName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Campus", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Discipline", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Faculty", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("FacultyId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("FacultyId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Group", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("LectureHall", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("DayOfWeek")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DisciplineId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("IsEven")
|
||||||
|
.HasColumnType("BIT(1)");
|
||||||
|
|
||||||
|
b.Property<bool?>("IsExcludedWeeks")
|
||||||
|
.HasColumnType("BIT(1)");
|
||||||
|
|
||||||
|
b.Property<int>("PairNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DisciplineId");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Lesson", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("LectureHallId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("LinkToMeet")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProfessorId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TypeOfOccupationId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LectureHallId");
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.HasIndex("ProfessorId");
|
||||||
|
|
||||||
|
b.HasIndex("TypeOfOccupationId");
|
||||||
|
|
||||||
|
b.ToTable("LessonAssociation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("AltName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Professor", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("WeekNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.ToTable("SpecificWeek", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ShortName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("TypeOfOccupation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("Faculties")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Faculty", "Faculty")
|
||||||
|
.WithMany("Groups")
|
||||||
|
.HasForeignKey("FacultyId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Faculty");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("LectureHalls")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Discipline", "Discipline")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("DisciplineId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Group", "Group")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("GroupId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Discipline");
|
||||||
|
|
||||||
|
b.Navigation("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", "LectureHall")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LectureHallId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Professor", "Professor")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("ProfessorId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", "TypeOfOccupation")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("TypeOfOccupationId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("LectureHall");
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
|
||||||
|
b.Navigation("Professor");
|
||||||
|
|
||||||
|
b.Navigation("TypeOfOccupation");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("SpecificWeeks")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Faculties");
|
||||||
|
|
||||||
|
b.Navigation("LectureHalls");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Groups");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
|
||||||
|
b.Navigation("SpecificWeeks");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,389 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace MysqlMigrations.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class InitialMigration : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterDatabase()
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Campus",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
CodeName = table.Column<string>(type: "TEXT", maxLength: 16, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
FullName = table.Column<string>(type: "TEXT", maxLength: 256, nullable: true)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Address = table.Column<string>(type: "TEXT", maxLength: 512, nullable: true)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Campus", x => x.Id);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Discipline",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 256, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Discipline", x => x.Id);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Professor",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
AltName = table.Column<string>(type: "TEXT", nullable: true)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Professor", x => x.Id);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "TypeOfOccupation",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
ShortName = table.Column<string>(type: "TEXT", maxLength: 16, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_TypeOfOccupation", x => x.Id);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Faculty",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 256, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CampusId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Faculty", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Faculty_Campus_CampusId",
|
||||||
|
column: x => x.CampusId,
|
||||||
|
principalTable: "Campus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LectureHall",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CampusId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LectureHall", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LectureHall_Campus_CampusId",
|
||||||
|
column: x => x.CampusId,
|
||||||
|
principalTable: "Campus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Group",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
FacultyId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Group", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Group_Faculty_FacultyId",
|
||||||
|
column: x => x.FacultyId,
|
||||||
|
principalTable: "Faculty",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Lesson",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
IsEven = table.Column<bool>(type: "BIT(1)", nullable: false),
|
||||||
|
DayOfWeek = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
PairNumber = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
IsExcludedWeeks = table.Column<bool>(type: "BIT(1)", nullable: true),
|
||||||
|
GroupId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
DisciplineId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Lesson", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lesson_Discipline_DisciplineId",
|
||||||
|
column: x => x.DisciplineId,
|
||||||
|
principalTable: "Discipline",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lesson_Group_GroupId",
|
||||||
|
column: x => x.GroupId,
|
||||||
|
principalTable: "Group",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LessonAssociation",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
LinkToMeet = table.Column<string>(type: "TEXT", maxLength: 512, nullable: true)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
TypeOfOccupationId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
LessonId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
ProfessorId = table.Column<int>(type: "INTEGER", nullable: true),
|
||||||
|
LectureHallId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LessonAssociation", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_LectureHall_LectureHallId",
|
||||||
|
column: x => x.LectureHallId,
|
||||||
|
principalTable: "LectureHall",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_Lesson_LessonId",
|
||||||
|
column: x => x.LessonId,
|
||||||
|
principalTable: "Lesson",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_Professor_ProfessorId",
|
||||||
|
column: x => x.ProfessorId,
|
||||||
|
principalTable: "Professor",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_TypeOfOccupation_TypeOfOccupationId",
|
||||||
|
column: x => x.TypeOfOccupationId,
|
||||||
|
principalTable: "TypeOfOccupation",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "SpecificWeek",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
WeekNumber = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
LessonId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_SpecificWeek", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_SpecificWeek_Lesson_LessonId",
|
||||||
|
column: x => x.LessonId,
|
||||||
|
principalTable: "Lesson",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Campus_Id",
|
||||||
|
table: "Campus",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Discipline_Id",
|
||||||
|
table: "Discipline",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Faculty_CampusId",
|
||||||
|
table: "Faculty",
|
||||||
|
column: "CampusId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Faculty_Id",
|
||||||
|
table: "Faculty",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Group_FacultyId",
|
||||||
|
table: "Group",
|
||||||
|
column: "FacultyId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Group_Id",
|
||||||
|
table: "Group",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LectureHall_CampusId",
|
||||||
|
table: "LectureHall",
|
||||||
|
column: "CampusId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LectureHall_Id",
|
||||||
|
table: "LectureHall",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_DisciplineId",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "DisciplineId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_GroupId",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "GroupId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_Id",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_Id",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_LectureHallId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "LectureHallId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_LessonId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "LessonId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_ProfessorId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "ProfessorId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_TypeOfOccupationId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "TypeOfOccupationId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Professor_Id",
|
||||||
|
table: "Professor",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_SpecificWeek_Id",
|
||||||
|
table: "SpecificWeek",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_SpecificWeek_LessonId",
|
||||||
|
table: "SpecificWeek",
|
||||||
|
column: "LessonId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_TypeOfOccupation_Id",
|
||||||
|
table: "TypeOfOccupation",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LessonAssociation");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "SpecificWeek");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LectureHall");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Professor");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "TypeOfOccupation");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Lesson");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Discipline");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Group");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Faculty");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Campus");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,439 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Mirea.Api.DataAccess.Persistence;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace MysqlMigrations.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(UberDbContext))]
|
||||||
|
partial class UberDbContextModelSnapshot : ModelSnapshot
|
||||||
|
{
|
||||||
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "8.0.6")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||||
|
|
||||||
|
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Address")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CodeName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FullName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Campus", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Discipline", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Faculty", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("FacultyId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("FacultyId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Group", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("LectureHall", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("DayOfWeek")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DisciplineId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("IsEven")
|
||||||
|
.HasColumnType("BIT(1)");
|
||||||
|
|
||||||
|
b.Property<bool?>("IsExcludedWeeks")
|
||||||
|
.HasColumnType("BIT(1)");
|
||||||
|
|
||||||
|
b.Property<int>("PairNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DisciplineId");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Lesson", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("LectureHallId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("LinkToMeet")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProfessorId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TypeOfOccupationId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LectureHallId");
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.HasIndex("ProfessorId");
|
||||||
|
|
||||||
|
b.HasIndex("TypeOfOccupationId");
|
||||||
|
|
||||||
|
b.ToTable("LessonAssociation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("AltName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Professor", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("WeekNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.ToTable("SpecificWeek", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ShortName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("TypeOfOccupation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("Faculties")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Faculty", "Faculty")
|
||||||
|
.WithMany("Groups")
|
||||||
|
.HasForeignKey("FacultyId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Faculty");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("LectureHalls")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Discipline", "Discipline")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("DisciplineId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Group", "Group")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("GroupId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Discipline");
|
||||||
|
|
||||||
|
b.Navigation("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", "LectureHall")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LectureHallId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Professor", "Professor")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("ProfessorId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", "TypeOfOccupation")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("TypeOfOccupationId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("LectureHall");
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
|
||||||
|
b.Navigation("Professor");
|
||||||
|
|
||||||
|
b.Navigation("TypeOfOccupation");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("SpecificWeeks")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Faculties");
|
||||||
|
|
||||||
|
b.Navigation("LectureHalls");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Groups");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
|
||||||
|
b.Navigation("SpecificWeeks");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
442
SqlData/Migrations/PsqlMigrations/Migrations/20240601021702_InitialMigration.Designer.cs
generated
Normal file
442
SqlData/Migrations/PsqlMigrations/Migrations/20240601021702_InitialMigration.Designer.cs
generated
Normal file
@ -0,0 +1,442 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Mirea.Api.DataAccess.Persistence;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace PsqlMigrations.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(UberDbContext))]
|
||||||
|
[Migration("20240601021702_InitialMigration")]
|
||||||
|
partial class InitialMigration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "8.0.6")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||||
|
|
||||||
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Address")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CodeName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FullName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Campus", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Discipline", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Faculty", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("FacultyId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("FacultyId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Group", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("LectureHall", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("DayOfWeek")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DisciplineId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("IsEven")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<bool?>("IsExcludedWeeks")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<int>("PairNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DisciplineId");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Lesson", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("LectureHallId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("LinkToMeet")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProfessorId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TypeOfOccupationId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LectureHallId");
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.HasIndex("ProfessorId");
|
||||||
|
|
||||||
|
b.HasIndex("TypeOfOccupationId");
|
||||||
|
|
||||||
|
b.ToTable("LessonAssociation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("AltName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Professor", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("WeekNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.ToTable("SpecificWeek", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ShortName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("TypeOfOccupation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("Faculties")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Faculty", "Faculty")
|
||||||
|
.WithMany("Groups")
|
||||||
|
.HasForeignKey("FacultyId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Faculty");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("LectureHalls")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Discipline", "Discipline")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("DisciplineId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Group", "Group")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("GroupId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Discipline");
|
||||||
|
|
||||||
|
b.Navigation("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", "LectureHall")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LectureHallId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Professor", "Professor")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("ProfessorId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", "TypeOfOccupation")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("TypeOfOccupationId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("LectureHall");
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
|
||||||
|
b.Navigation("Professor");
|
||||||
|
|
||||||
|
b.Navigation("TypeOfOccupation");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("SpecificWeeks")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Faculties");
|
||||||
|
|
||||||
|
b.Navigation("LectureHalls");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Groups");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
|
||||||
|
b.Navigation("SpecificWeeks");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,365 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace PsqlMigrations.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class InitialMigration : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Campus",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
CodeName = table.Column<string>(type: "TEXT", maxLength: 16, nullable: false),
|
||||||
|
FullName = table.Column<string>(type: "TEXT", maxLength: 256, nullable: true),
|
||||||
|
Address = table.Column<string>(type: "TEXT", maxLength: 512, nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Campus", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Discipline",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 256, nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Discipline", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Professor",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", nullable: false),
|
||||||
|
AltName = table.Column<string>(type: "TEXT", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Professor", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "TypeOfOccupation",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
ShortName = table.Column<string>(type: "TEXT", maxLength: 16, nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_TypeOfOccupation", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Faculty",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 256, nullable: false),
|
||||||
|
CampusId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Faculty", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Faculty_Campus_CampusId",
|
||||||
|
column: x => x.CampusId,
|
||||||
|
principalTable: "Campus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LectureHall",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false),
|
||||||
|
CampusId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LectureHall", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LectureHall_Campus_CampusId",
|
||||||
|
column: x => x.CampusId,
|
||||||
|
principalTable: "Campus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Group",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false),
|
||||||
|
FacultyId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Group", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Group_Faculty_FacultyId",
|
||||||
|
column: x => x.FacultyId,
|
||||||
|
principalTable: "Faculty",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Lesson",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
IsEven = table.Column<bool>(type: "BOOLEAN", nullable: false),
|
||||||
|
DayOfWeek = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
PairNumber = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
IsExcludedWeeks = table.Column<bool>(type: "BOOLEAN", nullable: true),
|
||||||
|
GroupId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
DisciplineId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Lesson", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lesson_Discipline_DisciplineId",
|
||||||
|
column: x => x.DisciplineId,
|
||||||
|
principalTable: "Discipline",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lesson_Group_GroupId",
|
||||||
|
column: x => x.GroupId,
|
||||||
|
principalTable: "Group",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LessonAssociation",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
LinkToMeet = table.Column<string>(type: "TEXT", maxLength: 512, nullable: true),
|
||||||
|
TypeOfOccupationId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
LessonId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
ProfessorId = table.Column<int>(type: "INTEGER", nullable: true),
|
||||||
|
LectureHallId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LessonAssociation", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_LectureHall_LectureHallId",
|
||||||
|
column: x => x.LectureHallId,
|
||||||
|
principalTable: "LectureHall",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_Lesson_LessonId",
|
||||||
|
column: x => x.LessonId,
|
||||||
|
principalTable: "Lesson",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_Professor_ProfessorId",
|
||||||
|
column: x => x.ProfessorId,
|
||||||
|
principalTable: "Professor",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_TypeOfOccupation_TypeOfOccupationId",
|
||||||
|
column: x => x.TypeOfOccupationId,
|
||||||
|
principalTable: "TypeOfOccupation",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "SpecificWeek",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
WeekNumber = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
LessonId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_SpecificWeek", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_SpecificWeek_Lesson_LessonId",
|
||||||
|
column: x => x.LessonId,
|
||||||
|
principalTable: "Lesson",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Campus_Id",
|
||||||
|
table: "Campus",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Discipline_Id",
|
||||||
|
table: "Discipline",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Faculty_CampusId",
|
||||||
|
table: "Faculty",
|
||||||
|
column: "CampusId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Faculty_Id",
|
||||||
|
table: "Faculty",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Group_FacultyId",
|
||||||
|
table: "Group",
|
||||||
|
column: "FacultyId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Group_Id",
|
||||||
|
table: "Group",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LectureHall_CampusId",
|
||||||
|
table: "LectureHall",
|
||||||
|
column: "CampusId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LectureHall_Id",
|
||||||
|
table: "LectureHall",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_DisciplineId",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "DisciplineId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_GroupId",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "GroupId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_Id",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_Id",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_LectureHallId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "LectureHallId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_LessonId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "LessonId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_ProfessorId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "ProfessorId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_TypeOfOccupationId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "TypeOfOccupationId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Professor_Id",
|
||||||
|
table: "Professor",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_SpecificWeek_Id",
|
||||||
|
table: "SpecificWeek",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_SpecificWeek_LessonId",
|
||||||
|
table: "SpecificWeek",
|
||||||
|
column: "LessonId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_TypeOfOccupation_Id",
|
||||||
|
table: "TypeOfOccupation",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LessonAssociation");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "SpecificWeek");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LectureHall");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Professor");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "TypeOfOccupation");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Lesson");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Discipline");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Group");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Faculty");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Campus");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,439 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Mirea.Api.DataAccess.Persistence;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace PsqlMigrations.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(UberDbContext))]
|
||||||
|
partial class UberDbContextModelSnapshot : ModelSnapshot
|
||||||
|
{
|
||||||
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "8.0.6")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||||
|
|
||||||
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Address")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CodeName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FullName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Campus", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Discipline", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Faculty", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("FacultyId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("FacultyId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Group", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("LectureHall", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("DayOfWeek")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DisciplineId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("IsEven")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<bool?>("IsExcludedWeeks")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<int>("PairNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DisciplineId");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Lesson", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("LectureHallId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("LinkToMeet")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProfessorId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TypeOfOccupationId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LectureHallId");
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.HasIndex("ProfessorId");
|
||||||
|
|
||||||
|
b.HasIndex("TypeOfOccupationId");
|
||||||
|
|
||||||
|
b.ToTable("LessonAssociation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("AltName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Professor", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("WeekNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.ToTable("SpecificWeek", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ShortName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("TypeOfOccupation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("Faculties")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Faculty", "Faculty")
|
||||||
|
.WithMany("Groups")
|
||||||
|
.HasForeignKey("FacultyId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Faculty");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("LectureHalls")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Discipline", "Discipline")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("DisciplineId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Group", "Group")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("GroupId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Discipline");
|
||||||
|
|
||||||
|
b.Navigation("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", "LectureHall")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LectureHallId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Professor", "Professor")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("ProfessorId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", "TypeOfOccupation")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("TypeOfOccupationId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("LectureHall");
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
|
||||||
|
b.Navigation("Professor");
|
||||||
|
|
||||||
|
b.Navigation("TypeOfOccupation");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("SpecificWeeks")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Faculties");
|
||||||
|
|
||||||
|
b.Navigation("LectureHalls");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Groups");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
|
||||||
|
b.Navigation("SpecificWeeks");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
417
SqlData/Migrations/SqliteMigrations/Migrations/20240601015714_InitialMigration.Designer.cs
generated
Normal file
417
SqlData/Migrations/SqliteMigrations/Migrations/20240601015714_InitialMigration.Designer.cs
generated
Normal file
@ -0,0 +1,417 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Mirea.Api.DataAccess.Persistence;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace SqliteMigrations.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(UberDbContext))]
|
||||||
|
[Migration("20240601015714_InitialMigration")]
|
||||||
|
partial class InitialMigration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder.HasAnnotation("ProductVersion", "8.0.6");
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Address")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CodeName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FullName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Campus", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Discipline", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Faculty", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("FacultyId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("FacultyId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Group", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("LectureHall", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DayOfWeek")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DisciplineId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("IsEven")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<bool?>("IsExcludedWeeks")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<int>("PairNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DisciplineId");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Lesson", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("LectureHallId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("LinkToMeet")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProfessorId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TypeOfOccupationId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LectureHallId");
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.HasIndex("ProfessorId");
|
||||||
|
|
||||||
|
b.HasIndex("TypeOfOccupationId");
|
||||||
|
|
||||||
|
b.ToTable("LessonAssociation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("AltName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Professor", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("WeekNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.ToTable("SpecificWeek", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("ShortName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("TypeOfOccupation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("Faculties")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Faculty", "Faculty")
|
||||||
|
.WithMany("Groups")
|
||||||
|
.HasForeignKey("FacultyId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Faculty");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("LectureHalls")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Discipline", "Discipline")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("DisciplineId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Group", "Group")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("GroupId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Discipline");
|
||||||
|
|
||||||
|
b.Navigation("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", "LectureHall")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LectureHallId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Professor", "Professor")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("ProfessorId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", "TypeOfOccupation")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("TypeOfOccupationId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("LectureHall");
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
|
||||||
|
b.Navigation("Professor");
|
||||||
|
|
||||||
|
b.Navigation("TypeOfOccupation");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("SpecificWeeks")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Faculties");
|
||||||
|
|
||||||
|
b.Navigation("LectureHalls");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Groups");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
|
||||||
|
b.Navigation("SpecificWeeks");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,364 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace SqliteMigrations.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class InitialMigration : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Campus",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
CodeName = table.Column<string>(type: "TEXT", maxLength: 16, nullable: false),
|
||||||
|
FullName = table.Column<string>(type: "TEXT", maxLength: 256, nullable: true),
|
||||||
|
Address = table.Column<string>(type: "TEXT", maxLength: 512, nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Campus", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Discipline",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 256, nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Discipline", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Professor",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Name = table.Column<string>(type: "TEXT", nullable: false),
|
||||||
|
AltName = table.Column<string>(type: "TEXT", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Professor", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "TypeOfOccupation",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
ShortName = table.Column<string>(type: "TEXT", maxLength: 16, nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_TypeOfOccupation", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Faculty",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 256, nullable: false),
|
||||||
|
CampusId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Faculty", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Faculty_Campus_CampusId",
|
||||||
|
column: x => x.CampusId,
|
||||||
|
principalTable: "Campus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LectureHall",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false),
|
||||||
|
CampusId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LectureHall", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LectureHall_Campus_CampusId",
|
||||||
|
column: x => x.CampusId,
|
||||||
|
principalTable: "Campus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Group",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Name = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false),
|
||||||
|
FacultyId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Group", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Group_Faculty_FacultyId",
|
||||||
|
column: x => x.FacultyId,
|
||||||
|
principalTable: "Faculty",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Lesson",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
IsEven = table.Column<bool>(type: "BOOLEAN", nullable: false),
|
||||||
|
DayOfWeek = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
PairNumber = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
IsExcludedWeeks = table.Column<bool>(type: "BOOLEAN", nullable: true),
|
||||||
|
GroupId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
DisciplineId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Lesson", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lesson_Discipline_DisciplineId",
|
||||||
|
column: x => x.DisciplineId,
|
||||||
|
principalTable: "Discipline",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lesson_Group_GroupId",
|
||||||
|
column: x => x.GroupId,
|
||||||
|
principalTable: "Group",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LessonAssociation",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
LinkToMeet = table.Column<string>(type: "TEXT", maxLength: 512, nullable: true),
|
||||||
|
TypeOfOccupationId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
LessonId = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
ProfessorId = table.Column<int>(type: "INTEGER", nullable: true),
|
||||||
|
LectureHallId = table.Column<int>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LessonAssociation", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_LectureHall_LectureHallId",
|
||||||
|
column: x => x.LectureHallId,
|
||||||
|
principalTable: "LectureHall",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_Lesson_LessonId",
|
||||||
|
column: x => x.LessonId,
|
||||||
|
principalTable: "Lesson",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_Professor_ProfessorId",
|
||||||
|
column: x => x.ProfessorId,
|
||||||
|
principalTable: "Professor",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.SetNull);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LessonAssociation_TypeOfOccupation_TypeOfOccupationId",
|
||||||
|
column: x => x.TypeOfOccupationId,
|
||||||
|
principalTable: "TypeOfOccupation",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "SpecificWeek",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
WeekNumber = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
LessonId = table.Column<int>(type: "INTEGER", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_SpecificWeek", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_SpecificWeek_Lesson_LessonId",
|
||||||
|
column: x => x.LessonId,
|
||||||
|
principalTable: "Lesson",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Campus_Id",
|
||||||
|
table: "Campus",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Discipline_Id",
|
||||||
|
table: "Discipline",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Faculty_CampusId",
|
||||||
|
table: "Faculty",
|
||||||
|
column: "CampusId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Faculty_Id",
|
||||||
|
table: "Faculty",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Group_FacultyId",
|
||||||
|
table: "Group",
|
||||||
|
column: "FacultyId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Group_Id",
|
||||||
|
table: "Group",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LectureHall_CampusId",
|
||||||
|
table: "LectureHall",
|
||||||
|
column: "CampusId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LectureHall_Id",
|
||||||
|
table: "LectureHall",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_DisciplineId",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "DisciplineId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_GroupId",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "GroupId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lesson_Id",
|
||||||
|
table: "Lesson",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_Id",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_LectureHallId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "LectureHallId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_LessonId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "LessonId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_ProfessorId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "ProfessorId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LessonAssociation_TypeOfOccupationId",
|
||||||
|
table: "LessonAssociation",
|
||||||
|
column: "TypeOfOccupationId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Professor_Id",
|
||||||
|
table: "Professor",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_SpecificWeek_Id",
|
||||||
|
table: "SpecificWeek",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_SpecificWeek_LessonId",
|
||||||
|
table: "SpecificWeek",
|
||||||
|
column: "LessonId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_TypeOfOccupation_Id",
|
||||||
|
table: "TypeOfOccupation",
|
||||||
|
column: "Id",
|
||||||
|
unique: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LessonAssociation");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "SpecificWeek");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LectureHall");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Professor");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "TypeOfOccupation");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Lesson");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Discipline");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Group");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Faculty");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Campus");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,414 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Mirea.Api.DataAccess.Persistence;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace SqliteMigrations.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(UberDbContext))]
|
||||||
|
partial class UberDbContextModelSnapshot : ModelSnapshot
|
||||||
|
{
|
||||||
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder.HasAnnotation("ProductVersion", "8.0.6");
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Address")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CodeName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FullName")
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Campus", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Discipline", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(256)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Faculty", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("FacultyId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("FacultyId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Group", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("CampusId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(64)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CampusId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("LectureHall", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DayOfWeek")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("DisciplineId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("IsEven")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<bool?>("IsExcludedWeeks")
|
||||||
|
.HasColumnType("BOOLEAN");
|
||||||
|
|
||||||
|
b.Property<int>("PairNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DisciplineId");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Lesson", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("LectureHallId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("LinkToMeet")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProfessorId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TypeOfOccupationId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LectureHallId");
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.HasIndex("ProfessorId");
|
||||||
|
|
||||||
|
b.HasIndex("TypeOfOccupationId");
|
||||||
|
|
||||||
|
b.ToTable("LessonAssociation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("AltName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Professor", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("LessonId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("WeekNumber")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("LessonId");
|
||||||
|
|
||||||
|
b.ToTable("SpecificWeek", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("ShortName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(16)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Id")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("TypeOfOccupation", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("Faculties")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Faculty", "Faculty")
|
||||||
|
.WithMany("Groups")
|
||||||
|
.HasForeignKey("FacultyId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("Faculty");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Campus", "Campus")
|
||||||
|
.WithMany("LectureHalls")
|
||||||
|
.HasForeignKey("CampusId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Campus");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Discipline", "Discipline")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("DisciplineId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Group", "Group")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("GroupId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Discipline");
|
||||||
|
|
||||||
|
b.Navigation("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LessonAssociation", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", "LectureHall")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LectureHallId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Professor", "Professor")
|
||||||
|
.WithMany("LessonAssociations")
|
||||||
|
.HasForeignKey("ProfessorId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", "TypeOfOccupation")
|
||||||
|
.WithMany("Lessons")
|
||||||
|
.HasForeignKey("TypeOfOccupationId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("LectureHall");
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
|
||||||
|
b.Navigation("Professor");
|
||||||
|
|
||||||
|
b.Navigation("TypeOfOccupation");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.SpecificWeek", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Mirea.Api.DataAccess.Domain.Schedule.Lesson", "Lesson")
|
||||||
|
.WithMany("SpecificWeeks")
|
||||||
|
.HasForeignKey("LessonId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lesson");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Campus", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Faculties");
|
||||||
|
|
||||||
|
b.Navigation("LectureHalls");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Discipline", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Faculty", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Groups");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Group", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.LectureHall", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Lesson", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
|
||||||
|
b.Navigation("SpecificWeeks");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.Professor", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LessonAssociations");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Mirea.Api.DataAccess.Domain.Schedule.TypeOfOccupation", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lessons");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user