// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using NetTopologySuite.Geometries; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using labdb.Models; #nullable disable namespace labdb.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20221110193423_ModelsInitial")] partial class ModelsInitial { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "7.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "postgis"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => { b.Property("Id") .HasColumnType("text") .HasColumnName("id"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text") .HasColumnName("concurrency_stamp"); b.Property("Name") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("name"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("normalized_name"); b.HasKey("Id") .HasName("pk_asp_net_roles"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex"); b.ToTable("AspNetRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("text") .HasColumnName("claim_type"); b.Property("ClaimValue") .HasColumnType("text") .HasColumnName("claim_value"); b.Property("RoleId") .IsRequired() .HasColumnType("text") .HasColumnName("role_id"); b.HasKey("Id") .HasName("pk_asp_net_role_claims"); b.HasIndex("RoleId") .HasDatabaseName("ix_asp_net_role_claims_role_id"); b.ToTable("AspNetRoleClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => { b.Property("Id") .HasColumnType("text") .HasColumnName("id"); b.Property("AccessFailedCount") .HasColumnType("integer") .HasColumnName("access_failed_count"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text") .HasColumnName("concurrency_stamp"); b.Property("Email") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("email"); b.Property("EmailConfirmed") .HasColumnType("boolean") .HasColumnName("email_confirmed"); b.Property("LockoutEnabled") .HasColumnType("boolean") .HasColumnName("lockout_enabled"); b.Property("LockoutEnd") .HasColumnType("timestamp with time zone") .HasColumnName("lockout_end"); b.Property("NormalizedEmail") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("normalized_email"); b.Property("NormalizedUserName") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("normalized_user_name"); b.Property("PasswordHash") .HasColumnType("text") .HasColumnName("password_hash"); b.Property("PhoneNumber") .HasColumnType("text") .HasColumnName("phone_number"); b.Property("PhoneNumberConfirmed") .HasColumnType("boolean") .HasColumnName("phone_number_confirmed"); b.Property("SecurityStamp") .HasColumnType("text") .HasColumnName("security_stamp"); b.Property("TwoFactorEnabled") .HasColumnType("boolean") .HasColumnName("two_factor_enabled"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("user_name"); b.HasKey("Id") .HasName("pk_asp_net_users"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex"); b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("text") .HasColumnName("claim_type"); b.Property("ClaimValue") .HasColumnType("text") .HasColumnName("claim_value"); b.Property("UserId") .IsRequired() .HasColumnType("text") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_asp_net_user_claims"); b.HasIndex("UserId") .HasDatabaseName("ix_asp_net_user_claims_user_id"); b.ToTable("AspNetUserClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.Property("LoginProvider") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("login_provider"); b.Property("ProviderKey") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("provider_key"); b.Property("ProviderDisplayName") .HasColumnType("text") .HasColumnName("provider_display_name"); b.Property("UserId") .IsRequired() .HasColumnType("text") .HasColumnName("user_id"); b.HasKey("LoginProvider", "ProviderKey") .HasName("pk_asp_net_user_logins"); b.HasIndex("UserId") .HasDatabaseName("ix_asp_net_user_logins_user_id"); b.ToTable("AspNetUserLogins", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("text") .HasColumnName("user_id"); b.Property("RoleId") .HasColumnType("text") .HasColumnName("role_id"); b.HasKey("UserId", "RoleId") .HasName("pk_asp_net_user_roles"); b.HasIndex("RoleId") .HasDatabaseName("ix_asp_net_user_roles_role_id"); b.ToTable("AspNetUserRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("text") .HasColumnName("user_id"); b.Property("LoginProvider") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("login_provider"); b.Property("Name") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("name"); b.Property("Value") .HasColumnType("text") .HasColumnName("value"); b.HasKey("UserId", "LoginProvider", "Name") .HasName("pk_asp_net_user_tokens"); b.ToTable("AspNetUserTokens", (string)null); }); modelBuilder.Entity("labdb.Models.City", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("CountryId") .HasColumnType("uuid") .HasColumnName("country_id"); b.Property("EnglishName") .HasColumnType("text") .HasColumnName("english_name"); b.Property("Location") .IsRequired() .HasColumnType("geometry") .HasColumnName("location"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id") .HasName("pk_city"); b.HasIndex("CountryId") .HasDatabaseName("ix_city_country_id"); b.HasIndex(new[] { "EnglishName" }, "english_name") .IsUnique() .HasDatabaseName("ix_city_english_name"); b.HasIndex(new[] { "EnglishName" }, "english_name_trgm") .HasDatabaseName("ix_city_english_name1"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "EnglishName" }, "english_name_trgm"), "gin"); NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "EnglishName" }, "english_name_trgm"), new[] { "gin_trgm_ops" }); b.HasIndex(new[] { "Name" }, "name") .IsUnique() .HasDatabaseName("ix_city_name"); b.HasIndex(new[] { "Name" }, "name_trgm") .HasDatabaseName("ix_city_name1"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Name" }, "name_trgm"), "gin"); NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "Name" }, "name_trgm"), new[] { "gin_trgm_ops" }); b.ToTable("city", (string)null); }); modelBuilder.Entity("labdb.Models.Country", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id") .HasName("pk_country"); b.HasIndex(new[] { "Name" }, "name") .IsUnique() .HasDatabaseName("ix_country_name"); b.HasIndex(new[] { "Name" }, "name_trgm") .HasDatabaseName("ix_country_name1"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Name" }, "name_trgm"), "gin"); NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "Name" }, "name_trgm"), new[] { "gin_trgm_ops" }); b.ToTable("country", (string)null); }); modelBuilder.Entity("labdb.Models.Lab", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("AddressCity") .HasColumnType("text") .HasColumnName("address_city"); b.Property("AddressLine1") .HasColumnType("text") .HasColumnName("address_line1"); b.Property("AddressLine2") .HasColumnType("text") .HasColumnName("address_line2"); b.Property("AddressPostcode") .HasColumnType("text") .HasColumnName("address_postcode"); b.Property("BasicFee") .HasColumnType("numeric") .HasColumnName("basic_fee"); b.Property("CountryId") .HasColumnType("uuid") .HasColumnName("country_id"); b.Property("DrawFee") .HasColumnType("numeric") .HasColumnName("draw_fee"); b.Property("Email") .HasColumnType("text") .HasColumnName("email"); b.Property("Location") .HasColumnType("geometry") .HasColumnName("location"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("Notes") .HasColumnType("text") .HasColumnName("notes"); b.Property("Phone") .HasColumnType("text") .HasColumnName("phone"); b.Property("RequiresAppointment") .HasColumnType("boolean") .HasColumnName("requires_appointment"); b.Property("SelfDraw") .HasColumnType("boolean") .HasColumnName("self_draw"); b.Property("Website") .HasColumnType("text") .HasColumnName("website"); b.HasKey("Id") .HasName("pk_lab"); b.HasIndex("AddressCity") .HasDatabaseName("ix_lab_address_city"); b.HasIndex("AddressPostcode") .HasDatabaseName("ix_lab_address_postcode"); b.HasIndex("BasicFee") .HasDatabaseName("ix_lab_basic_fee"); b.HasIndex("CountryId") .HasDatabaseName("ix_lab_country_id"); b.HasIndex("DrawFee") .HasDatabaseName("ix_lab_draw_fee"); b.HasIndex("RequiresAppointment") .HasDatabaseName("ix_lab_requires_appointment"); b.HasIndex("SelfDraw") .HasDatabaseName("ix_lab_self_draw"); b.HasIndex(new[] { "Name" }, "name") .HasDatabaseName("ix_lab_name"); b.HasIndex(new[] { "Name" }, "name_trgm") .HasDatabaseName("ix_lab_name"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Name" }, "name_trgm"), "gin"); NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "Name" }, "name_trgm"), new[] { "gin_trgm_ops" }); b.ToTable("lab", (string)null); }); modelBuilder.Entity("labdb.Models.LabTest", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("BloodVolume") .HasColumnType("numeric") .HasColumnName("blood_volume"); b.Property("LabId") .HasColumnType("uuid") .HasColumnName("lab_id"); b.Property("Notes") .HasColumnType("text") .HasColumnName("notes"); b.Property("Price") .HasColumnType("numeric") .HasColumnName("price"); b.Property("ServiceDirectoryLink") .HasColumnType("text") .HasColumnName("service_directory_link"); b.Property("TestId") .HasColumnType("uuid") .HasColumnName("test_id"); b.Property("TestMethod") .HasColumnType("text") .HasColumnName("test_method"); b.HasKey("Id") .HasName("pk_lab_test"); b.HasIndex("BloodVolume") .HasDatabaseName("ix_lab_test_blood_volume"); b.HasIndex("LabId") .HasDatabaseName("ix_lab_test_lab_id"); b.HasIndex("Price") .HasDatabaseName("ix_lab_test_price"); b.HasIndex("TestId") .HasDatabaseName("ix_lab_test_test_id"); b.HasIndex("TestMethod") .HasDatabaseName("ix_lab_test_test_method"); b.ToTable("lab_test", (string)null); }); modelBuilder.Entity("labdb.Models.Test", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("Abbreviation") .HasColumnType("text") .HasColumnName("abbreviation"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("PubchemLink") .HasColumnType("text") .HasColumnName("pubchem_link"); b.HasKey("Id") .HasName("pk_test"); b.HasIndex(new[] { "Abbreviation" }, "abbreviation") .IsUnique() .HasDatabaseName("ix_test_abbreviation"); b.HasIndex(new[] { "Abbreviation" }, "abbreviation_trgm") .HasDatabaseName("ix_test_abbreviation1"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Abbreviation" }, "abbreviation_trgm"), "gin"); NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "Abbreviation" }, "abbreviation_trgm"), new[] { "gin_trgm_ops" }); b.HasIndex(new[] { "Name" }, "name") .IsUnique() .HasDatabaseName("ix_test_name"); b.HasIndex(new[] { "Name" }, "name_trgm") .HasDatabaseName("ix_test_name1"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Name" }, "name_trgm"), "gin"); NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "Name" }, "name_trgm"), new[] { "gin_trgm_ops" }); b.ToTable("test", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_asp_net_role_claims_asp_net_roles_role_id"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_asp_net_user_claims_asp_net_users_user_id"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_asp_net_user_logins_asp_net_users_user_id"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_asp_net_user_roles_asp_net_roles_role_id"); b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_asp_net_user_roles_asp_net_users_user_id"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_asp_net_user_tokens_asp_net_users_user_id"); }); modelBuilder.Entity("labdb.Models.City", b => { b.HasOne("labdb.Models.Country", "Country") .WithMany() .HasForeignKey("CountryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_city_country_country_temp_id"); b.Navigation("Country"); }); modelBuilder.Entity("labdb.Models.Lab", b => { b.HasOne("labdb.Models.Country", "Country") .WithMany() .HasForeignKey("CountryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_lab_country_country_id1"); b.Navigation("Country"); }); modelBuilder.Entity("labdb.Models.LabTest", b => { b.HasOne("labdb.Models.Lab", "Lab") .WithMany() .HasForeignKey("LabId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_lab_test_lab_lab_id1"); b.HasOne("labdb.Models.Test", "Test") .WithMany() .HasForeignKey("TestId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_lab_test_test_test_temp_id"); b.Navigation("Lab"); b.Navigation("Test"); }); #pragma warning restore 612, 618 } } }