// <auto-generated />
using System;
using CompatBot.Database;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

#nullable disable

namespace CompatBot.Database.Migrations.HardwareDbMigrations
{
    [DbContext(typeof(HardwareDb))]
    [Migration("20220629192852_InitialCreate")]
    partial class InitialCreate
    {
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .UseCollation("NOCASE")
                .HasAnnotation("ProductVersion", "6.0.6");

            modelBuilder.Entity("CompatBot.Database.HwInfo", b =>
                {
                    b.Property<byte[]>("InstallId")
                        .HasMaxLength(64)
                        .HasColumnType("BLOB")
                        .HasColumnName("install_id");

                    b.Property<int>("CpuFeatures")
                        .HasColumnType("INTEGER")
                        .HasColumnName("cpu_features");

                    b.Property<string>("CpuMaker")
                        .IsRequired()
                        .HasColumnType("TEXT")
                        .HasColumnName("cpu_maker");

                    b.Property<string>("CpuModel")
                        .IsRequired()
                        .HasColumnType("TEXT")
                        .HasColumnName("cpu_model");

                    b.Property<string>("GpuMaker")
                        .IsRequired()
                        .HasColumnType("TEXT")
                        .HasColumnName("gpu_maker");

                    b.Property<string>("GpuModel")
                        .IsRequired()
                        .HasColumnType("TEXT")
                        .HasColumnName("gpu_model");

                    b.Property<string>("OsName")
                        .HasColumnType("TEXT")
                        .HasColumnName("os_name");

                    b.Property<byte>("OsType")
                        .HasColumnType("INTEGER")
                        .HasColumnName("os_type");

                    b.Property<string>("OsVersion")
                        .HasColumnType("TEXT")
                        .HasColumnName("os_version");

                    b.Property<long>("RamInMb")
                        .HasColumnType("INTEGER")
                        .HasColumnName("ram_in_mb");

                    b.Property<int>("ThreadCount")
                        .HasColumnType("INTEGER")
                        .HasColumnName("thread_count");

                    b.Property<long>("Timestamp")
                        .HasColumnType("INTEGER")
                        .HasColumnName("timestamp");

                    b.HasKey("InstallId")
                        .HasName("pk_hw_info");

                    b.HasIndex("Timestamp")
                        .HasDatabaseName("hardware_timestamp");

                    b.ToTable("hw_info");
                });
#pragma warning restore 612, 618
        }
    }
}
