// 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("20221110211959_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("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("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 } } }