diff --git a/Course/DatabaseImplement/Migrations/20240501121257_addtimeforguarantor.Designer.cs b/Course/DatabaseImplement/Migrations/20240501121257_addtimeforguarantor.Designer.cs new file mode 100644 index 0000000..a85a7bc --- /dev/null +++ b/Course/DatabaseImplement/Migrations/20240501121257_addtimeforguarantor.Designer.cs @@ -0,0 +1,572 @@ +// +using System; +using DatabaseImplement; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace DatabaseImplement.Migrations +{ + [DbContext(typeof(FactoryGoWorkDatabase))] + [Migration("20240501121257_addtimeforguarantor")] + partial class addtimeforguarantor + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.29") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); + + modelBuilder.Entity("DatabaseImplement.Models.Detail", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Cost") + .HasColumnType("float"); + + b.Property("DateCreate") + .HasColumnType("datetime2"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Details"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.DetailProduct", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("DetailId") + .HasColumnType("int"); + + b.Property("ProductId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("DetailId"); + + b.HasIndex("ProductId"); + + b.ToTable("DetailProducts"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.DetailProduction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("DetailId") + .HasColumnType("int"); + + b.Property("ProductionId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("DetailId"); + + b.HasIndex("ProductionId"); + + b.ToTable("DetailProductions"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Guarantor", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Login") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Guarantors"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Implementer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Login") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Implementers"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Machine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Country") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DateCreate") + .HasColumnType("datetime2"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Machines"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Product", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Cost") + .HasColumnType("float"); + + b.Property("MachineId") + .HasColumnType("int"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("MachineId"); + + b.HasIndex("UserId"); + + b.ToTable("Products"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Production", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Cost") + .HasColumnType("float"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Productions"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Worker", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Birthday") + .HasColumnType("datetime2"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Salary") + .HasColumnType("float"); + + b.Property("Specialization") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Workers"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.WorkerMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("MachineId") + .HasColumnType("int"); + + b.Property("WorkerId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("MachineId"); + + b.HasIndex("WorkerId"); + + b.ToTable("WorkerMachines"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.WorkerWorkshop", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("WorkerId") + .HasColumnType("int"); + + b.Property("WorkshopId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("WorkerId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("WorkerWorkshops"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Workshop", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DateCreate") + .HasColumnType("datetime2"); + + b.Property("Director") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ProductionId") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProductionId"); + + b.HasIndex("UserId"); + + b.ToTable("Workshops"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Detail", b => + { + b.HasOne("DatabaseImplement.Models.Implementer", "User") + .WithMany("Details") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.DetailProduct", b => + { + b.HasOne("DatabaseImplement.Models.Detail", "Detail") + .WithMany("DetailProducts") + .HasForeignKey("DetailId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DatabaseImplement.Models.Product", "Product") + .WithMany("Details") + .HasForeignKey("ProductId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Detail"); + + b.Navigation("Product"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.DetailProduction", b => + { + b.HasOne("DatabaseImplement.Models.Detail", "Detail") + .WithMany("DetailProductions") + .HasForeignKey("DetailId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DatabaseImplement.Models.Production", "Production") + .WithMany("Details") + .HasForeignKey("ProductionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Detail"); + + b.Navigation("Production"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Machine", b => + { + b.HasOne("DatabaseImplement.Models.Guarantor", "Guarantor") + .WithMany("Machines") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Guarantor"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Product", b => + { + b.HasOne("DatabaseImplement.Models.Machine", "Machine") + .WithMany("Products") + .HasForeignKey("MachineId"); + + b.HasOne("DatabaseImplement.Models.Implementer", "User") + .WithMany("Products") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Production", b => + { + b.HasOne("DatabaseImplement.Models.Implementer", "User") + .WithMany("Productions") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Worker", b => + { + b.HasOne("DatabaseImplement.Models.Guarantor", "Guarantor") + .WithMany("Workers") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Guarantor"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.WorkerMachine", b => + { + b.HasOne("DatabaseImplement.Models.Machine", "Machine") + .WithMany("Workers") + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DatabaseImplement.Models.Worker", "Worker") + .WithMany("WorkerMachines") + .HasForeignKey("WorkerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("Worker"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.WorkerWorkshop", b => + { + b.HasOne("DatabaseImplement.Models.Worker", "Worker") + .WithMany("WorkerWorkshops") + .HasForeignKey("WorkerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DatabaseImplement.Models.Workshop", "Workshop") + .WithMany("Workers") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Worker"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Workshop", b => + { + b.HasOne("DatabaseImplement.Models.Production", "Production") + .WithMany("Workshops") + .HasForeignKey("ProductionId"); + + b.HasOne("DatabaseImplement.Models.Guarantor", null) + .WithMany("Workshops") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Production"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Detail", b => + { + b.Navigation("DetailProductions"); + + b.Navigation("DetailProducts"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Guarantor", b => + { + b.Navigation("Machines"); + + b.Navigation("Workers"); + + b.Navigation("Workshops"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Implementer", b => + { + b.Navigation("Details"); + + b.Navigation("Productions"); + + b.Navigation("Products"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Machine", b => + { + b.Navigation("Products"); + + b.Navigation("Workers"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Product", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Production", b => + { + b.Navigation("Details"); + + b.Navigation("Workshops"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Worker", b => + { + b.Navigation("WorkerMachines"); + + b.Navigation("WorkerWorkshops"); + }); + + modelBuilder.Entity("DatabaseImplement.Models.Workshop", b => + { + b.Navigation("Workers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Course/DatabaseImplement/Migrations/20240501121257_addtimeforguarantor.cs b/Course/DatabaseImplement/Migrations/20240501121257_addtimeforguarantor.cs new file mode 100644 index 0000000..5e3ba9f --- /dev/null +++ b/Course/DatabaseImplement/Migrations/20240501121257_addtimeforguarantor.cs @@ -0,0 +1,71 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace DatabaseImplement.Migrations +{ + public partial class addtimeforguarantor : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_WorkerMachines_Machines_WorkerId", + table: "WorkerMachines"); + + migrationBuilder.AddColumn( + name: "DateCreate", + table: "Workshops", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddColumn( + name: "DateCreate", + table: "Machines", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.CreateIndex( + name: "IX_WorkerMachines_MachineId", + table: "WorkerMachines", + column: "MachineId"); + + migrationBuilder.AddForeignKey( + name: "FK_WorkerMachines_Machines_MachineId", + table: "WorkerMachines", + column: "MachineId", + principalTable: "Machines", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_WorkerMachines_Machines_MachineId", + table: "WorkerMachines"); + + migrationBuilder.DropIndex( + name: "IX_WorkerMachines_MachineId", + table: "WorkerMachines"); + + migrationBuilder.DropColumn( + name: "DateCreate", + table: "Workshops"); + + migrationBuilder.DropColumn( + name: "DateCreate", + table: "Machines"); + + migrationBuilder.AddForeignKey( + name: "FK_WorkerMachines_Machines_WorkerId", + table: "WorkerMachines", + column: "WorkerId", + principalTable: "Machines", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + } + } +} diff --git a/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs b/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs index cd7adcf..cbaa247 100644 --- a/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs +++ b/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs @@ -169,6 +169,9 @@ namespace DatabaseImplement.Migrations .IsRequired() .HasColumnType("nvarchar(max)"); + b.Property("DateCreate") + .HasColumnType("datetime2"); + b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); @@ -286,6 +289,8 @@ namespace DatabaseImplement.Migrations b.HasKey("Id"); + b.HasIndex("MachineId"); + b.HasIndex("WorkerId"); b.ToTable("WorkerMachines"); @@ -326,6 +331,9 @@ namespace DatabaseImplement.Migrations .IsRequired() .HasColumnType("nvarchar(max)"); + b.Property("DateCreate") + .HasColumnType("datetime2"); + b.Property("Director") .IsRequired() .HasColumnType("nvarchar(max)"); @@ -412,7 +420,7 @@ namespace DatabaseImplement.Migrations modelBuilder.Entity("DatabaseImplement.Models.Product", b => { b.HasOne("DatabaseImplement.Models.Machine", "Machine") - .WithMany() + .WithMany("Products") .HasForeignKey("MachineId"); b.HasOne("DatabaseImplement.Models.Implementer", "User") @@ -452,7 +460,7 @@ namespace DatabaseImplement.Migrations { b.HasOne("DatabaseImplement.Models.Machine", "Machine") .WithMany("Workers") - .HasForeignKey("WorkerId") + .HasForeignKey("MachineId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); @@ -492,15 +500,13 @@ namespace DatabaseImplement.Migrations .WithMany("Workshops") .HasForeignKey("ProductionId"); - b.HasOne("DatabaseImplement.Models.Guarantor", "User") + b.HasOne("DatabaseImplement.Models.Guarantor", null) .WithMany("Workshops") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Production"); - - b.Navigation("User"); }); modelBuilder.Entity("DatabaseImplement.Models.Detail", b => @@ -530,6 +536,8 @@ namespace DatabaseImplement.Migrations modelBuilder.Entity("DatabaseImplement.Models.Machine", b => { + b.Navigation("Products"); + b.Navigation("Workers"); });