// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using ShopAPI.Data; #nullable disable namespace ShopAPI.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20260315225241_InitialCreate")] partial class InitialCreate { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 64); MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); modelBuilder.Entity("ShopAPI.Models.Category", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Categories"); }); modelBuilder.Entity("ShopAPI.Models.Order", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Createdat") .HasColumnType("datetime(6)"); b.Property("Status") .IsRequired() .HasColumnType("longtext"); b.Property("UserId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Orders"); }); modelBuilder.Entity("ShopAPI.Models.OrderItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("OrderId") .HasColumnType("int"); b.Property("ProductId") .HasColumnType("int"); b.Property("Quantity") .HasColumnType("int"); b.Property("UnitPrice") .HasColumnType("decimal(10,2)"); b.HasKey("Id"); b.HasIndex("OrderId"); b.HasIndex("ProductId"); b.ToTable("OrderItems"); }); modelBuilder.Entity("ShopAPI.Models.Payment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("decimal(10,2)"); b.Property("Method") .IsRequired() .HasColumnType("longtext"); b.Property("OrderId") .HasColumnType("int"); b.Property("PaidAt") .HasColumnType("datetime(6)"); b.Property("Status") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("OrderId") .IsUnique(); b.ToTable("Payments"); }); modelBuilder.Entity("ShopAPI.Models.Product", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CategoryId") .HasColumnType("int"); b.Property("Description") .IsRequired() .HasColumnType("longtext"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("Price") .HasColumnType("decimal(10,2)"); b.Property("Stock") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("CategoryId"); b.ToTable("Products"); }); modelBuilder.Entity("ShopAPI.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Role") .IsRequired() .HasColumnType("longtext"); b.Property("email") .IsRequired() .HasColumnType("longtext"); b.Property("name") .IsRequired() .HasColumnType("longtext"); b.Property("passwordHash") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Users"); }); modelBuilder.Entity("ShopAPI.Models.Order", b => { b.HasOne("ShopAPI.Models.User", "User") .WithMany("orders") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ShopAPI.Models.OrderItem", b => { b.HasOne("ShopAPI.Models.Order", "Order") .WithMany("OrderItems") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("ShopAPI.Models.Product", "Product") .WithMany() .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Order"); b.Navigation("Product"); }); modelBuilder.Entity("ShopAPI.Models.Payment", b => { b.HasOne("ShopAPI.Models.Order", "Order") .WithOne("Payment") .HasForeignKey("ShopAPI.Models.Payment", "OrderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Order"); }); modelBuilder.Entity("ShopAPI.Models.Product", b => { b.HasOne("ShopAPI.Models.Category", "Category") .WithMany("Products") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Category"); }); modelBuilder.Entity("ShopAPI.Models.Category", b => { b.Navigation("Products"); }); modelBuilder.Entity("ShopAPI.Models.Order", b => { b.Navigation("OrderItems"); b.Navigation("Payment"); }); modelBuilder.Entity("ShopAPI.Models.User", b => { b.Navigation("orders"); }); #pragma warning restore 612, 618 } } }