// using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using Somnia.GuestLog.Infrastructure; #nullable disable namespace Somnia.GuestLog.Infrastructure.Migrations { [DbContext(typeof(GuestLogContext))] [Migration("20260901161146_AddTable_StayExportFile")] partial class AddTable_StayExportFile { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.7") .HasAnnotation("Proxies:ChangeTracking", false) .HasAnnotation("Proxies:CheckEquality", false) .HasAnnotation("Proxies:LazyLoading", true) .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("GuestDocumentStayEntry", b => { b.Property("StayEntryId") .HasColumnType("bigint"); b.Property("GuestDocumentsId") .HasColumnType("bigint"); b.Property("GuestDocumentsVersion") .HasColumnType("integer"); b.HasKey("StayEntryId", "GuestDocumentsId", "GuestDocumentsVersion"); b.HasIndex("GuestDocumentsId", "GuestDocumentsVersion"); b.ToTable("GuestDocumentStayEntry"); }); modelBuilder.Entity("Somnia.GuestLog.Models.Entities.GuestDocument", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Version") .HasColumnType("integer"); b.Property("BirthDate") .HasColumnType("date"); b.Property("CreateTime") .HasColumnType("timestamp(3) with time zone"); b.Property("DocumentNum") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("DocumentType") .IsRequired() .HasMaxLength(8) .HasColumnType("character varying(8)"); b.Property("EmailAddress") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("Gender") .HasMaxLength(1) .HasColumnType("character varying(1)"); b.Property("IsLastVersion") .HasColumnType("boolean"); b.Property("IssueDate") .HasColumnType("date"); b.Property("Name") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("Nationality") .IsRequired() .HasMaxLength(3) .HasColumnType("character varying(3)"); b.Property("PhoneNumber") .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("SupportNum") .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property("Surname") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("Surname2") .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("UpdateTime") .HasColumnType("timestamp(3) with time zone"); b.ComplexProperty(typeof(Dictionary), "AddressDetails", "Somnia.GuestLog.Models.Entities.GuestDocument.AddressDetails#GuestAddress", b1 => { b1.Property("Address") .HasMaxLength(128) .HasColumnType("character varying(128)"); b1.Property("AddressCity") .HasMaxLength(128) .HasColumnType("character varying(128)"); b1.Property("AddressCountry") .IsRequired() .HasMaxLength(3) .HasColumnType("character varying(3)"); b1.Property("AddressProvince") .HasMaxLength(128) .HasColumnType("character varying(128)"); b1.Property("AddressState") .HasMaxLength(128) .HasColumnType("character varying(128)"); b1.Property("ZipCode") .HasMaxLength(12) .HasColumnType("character varying(12)"); }); b.HasKey("Id", "Version"); b.ToTable("GuestDocument", (string)null); }); modelBuilder.Entity("Somnia.GuestLog.Models.Entities.StayEntry", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreateTime") .HasColumnType("timestamp with time zone"); b.Property("DateIn") .HasColumnType("timestamp(0) with time zone"); b.Property("DateOut") .HasColumnType("timestamp(0) with time zone"); b.Property("PaymentMethod") .IsRequired() .HasMaxLength(5) .HasColumnType("character varying(5)"); b.Property("RoomCount") .HasColumnType("integer"); b.Property("RoomNumber") .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("UpdateTime") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("StayEntry", (string)null); }); modelBuilder.Entity("Somnia.GuestLog.Models.Entities.StayExportFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ExportFormat") .HasColumnType("integer"); b.Property("ExportResult") .HasColumnType("integer"); b.Property("ExportTime") .HasColumnType("timestamp with time zone"); b.Property("ExportedPath") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.ComplexProperty(typeof(Dictionary), "ExportParams", "Somnia.GuestLog.Models.Entities.StayExportFile.ExportParams#StayExportParams", b1 => { b1.IsRequired(); b1.Property("ExportPeriodEnd"); b1.Property("ExportPeriodStart"); b1.Property("ExportType"); b1 .ToJson("ExportParams") .HasColumnType("jsonb"); }); b.HasKey("Id"); b.ToTable("StayExportFile", (string)null); }); modelBuilder.Entity("GuestDocumentStayEntry", b => { b.HasOne("Somnia.GuestLog.Models.Entities.StayEntry", null) .WithMany() .HasForeignKey("StayEntryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Somnia.GuestLog.Models.Entities.GuestDocument", null) .WithMany() .HasForeignKey("GuestDocumentsId", "GuestDocumentsVersion") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); #pragma warning restore 612, 618 } } }