diff --git a/Marechai.Database/Marechai.Database.csproj b/Marechai.Database/Marechai.Database.csproj index 060a3ead..e9fc1a0f 100644 --- a/Marechai.Database/Marechai.Database.csproj +++ b/Marechai.Database/Marechai.Database.csproj @@ -4,14 +4,15 @@ Marechai.Database - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + diff --git a/Marechai.Database/Migrations/20201220155949_FixCurrenciesNullability.Designer.cs b/Marechai.Database/Migrations/20201220155949_FixCurrenciesNullability.Designer.cs new file mode 100644 index 00000000..d9943f56 --- /dev/null +++ b/Marechai.Database/Migrations/20201220155949_FixCurrenciesNullability.Designer.cs @@ -0,0 +1,7934 @@ +// +using System; +using Marechai.Database.Models; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +namespace Marechai.Database.Migrations +{ + [DbContext(typeof(MarechaiContext))] + [Migration("20201220155949_FixCurrenciesNullability")] + partial class FixCurrenciesNullability + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Relational:MaxIdentifierLength", 64) + .HasAnnotation("ProductVersion", "5.0.1"); + + modelBuilder.Entity("Marechai.Database.Models.ApplicationRole", b => + { + b.Property("Id") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Created") + .HasColumnType("datetime(6)"); + + b.Property("Description") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("varchar(256) CHARACTER SET utf8mb4"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("varchar(256) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("varchar(256) CHARACTER SET utf8mb4"); + + b.Property("EmailConfirmed") + .HasColumnType("bit(1)"); + + b.Property("LockoutEnabled") + .HasColumnType("bit(1)"); + + b.Property("LockoutEnd") + .HasColumnType("datetime(6)"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("varchar(256) CHARACTER SET utf8mb4"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("varchar(256) CHARACTER SET utf8mb4"); + + b.Property("PasswordHash") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("PhoneNumber") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit(1)"); + + b.Property("SecurityStamp") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit(1)"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("varchar(256) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Audit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("AffectedColumns") + .HasColumnType("json"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Keys") + .HasColumnType("json"); + + b.Property("NewValues") + .HasColumnType("json"); + + b.Property("OldValues") + .HasColumnType("json"); + + b.Property("Table") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("Table"); + + b.HasIndex("Type"); + + b.HasIndex("UserId"); + + b.ToTable("Audit"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Book", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CountryId") + .HasColumnType("smallint(3)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Edition") + .HasColumnType("int"); + + b.Property("Isbn") + .HasMaxLength(13) + .HasColumnType("varchar(13) CHARACTER SET utf8mb4"); + + b.Property("NativeTitle") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Pages") + .HasColumnType("smallint"); + + b.Property("PreviousId") + .HasColumnType("bigint"); + + b.Property("Published") + .HasColumnType("datetime(6)"); + + b.Property("SourceId") + .HasColumnType("bigint"); + + b.Property("Synopsis") + .HasMaxLength(262144) + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Title") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CountryId"); + + b.HasIndex("Edition"); + + b.HasIndex("Isbn"); + + b.HasIndex("NativeTitle"); + + b.HasIndex("Pages"); + + b.HasIndex("PreviousId") + .IsUnique(); + + b.HasIndex("Published"); + + b.HasIndex("SourceId"); + + b.HasIndex("Synopsis") + .HasAnnotation("MySql:FullTextIndex", true); + + b.HasIndex("Title"); + + b.ToTable("Books"); + }); + + modelBuilder.Entity("Marechai.Database.Models.BookScan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Author") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("BookId") + .HasColumnType("bigint"); + + b.Property("ColorSpace") + .HasColumnType("smallint unsigned"); + + b.Property("Comments") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("ExifVersion") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("HorizontalResolution") + .HasColumnType("double"); + + b.Property("OriginalExtension") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Page") + .HasColumnType("int unsigned"); + + b.Property("ResolutionUnit") + .HasColumnType("smallint unsigned"); + + b.Property("ScannerManufacturer") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ScannerModel") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("SoftwareUsed") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Type") + .HasColumnType("int unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UploadDate") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("VerticalResolution") + .HasColumnType("double"); + + b.HasKey("Id"); + + b.HasIndex("Author"); + + b.HasIndex("BookId"); + + b.HasIndex("ColorSpace"); + + b.HasIndex("Comments"); + + b.HasIndex("CreationDate"); + + b.HasIndex("ExifVersion"); + + b.HasIndex("HorizontalResolution"); + + b.HasIndex("Page"); + + b.HasIndex("ResolutionUnit"); + + b.HasIndex("ScannerManufacturer"); + + b.HasIndex("ScannerModel"); + + b.HasIndex("SoftwareUsed"); + + b.HasIndex("Type"); + + b.HasIndex("UploadDate"); + + b.HasIndex("UserId"); + + b.HasIndex("VerticalResolution"); + + b.ToTable("BookScans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.BooksByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("BookId") + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("BookId"); + + b.HasIndex("MachineId"); + + b.ToTable("BooksByMachines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.BooksByMachineFamily", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("BookId") + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineFamilyId") + .HasColumnType("int(11)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("BookId"); + + b.HasIndex("MachineFamilyId"); + + b.ToTable("BooksByMachineFamilies"); + }); + + modelBuilder.Entity("Marechai.Database.Models.BrowserTest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("Agif") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("agif") + .HasDefaultValueSql("'0'"); + + b.Property("Browser") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasColumnName("browser") + .HasDefaultValueSql("''"); + + b.Property("Colors") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("colors") + .HasDefaultValueSql("'0'"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Flash") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("flash") + .HasDefaultValueSql("'0'"); + + b.Property("Frames") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("frames") + .HasDefaultValueSql("'0'"); + + b.Property("Gif87") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("gif87") + .HasDefaultValueSql("'0'"); + + b.Property("Gif89") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("gif89") + .HasDefaultValueSql("'0'"); + + b.Property("Jpeg") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("jpeg") + .HasDefaultValueSql("'0'"); + + b.Property("Js") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("js") + .HasDefaultValueSql("'0'"); + + b.Property("Os") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(32) + .HasColumnType("varchar(32)") + .HasColumnName("os") + .HasDefaultValueSql("''"); + + b.Property("Platform") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(8) + .HasColumnType("varchar(8)") + .HasColumnName("platform") + .HasDefaultValueSql("''"); + + b.Property("Png") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("png") + .HasDefaultValueSql("'0'"); + + b.Property("Pngt") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("pngt") + .HasDefaultValueSql("'0'"); + + b.Property("Table") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("table") + .HasDefaultValueSql("'0'"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserAgent") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasColumnName("user_agent") + .HasDefaultValueSql("''"); + + b.Property("Version") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(16) + .HasColumnType("varchar(16)") + .HasColumnName("version") + .HasDefaultValueSql("''"); + + b.HasKey("Id"); + + b.HasIndex("Browser") + .HasDatabaseName("idx_browser_tests_browser"); + + b.HasIndex("Os") + .HasDatabaseName("idx_browser_tests_os"); + + b.HasIndex("Platform") + .HasDatabaseName("idx_browser_tests_platform"); + + b.HasIndex("UserAgent") + .HasDatabaseName("idx_browser_tests_user_agent"); + + b.HasIndex("Version") + .HasDatabaseName("idx_browser_tests_version"); + + b.ToTable("browser_tests"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesByBook", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("BookId") + .HasColumnType("bigint"); + + b.Property("CompanyId") + .HasColumnType("int"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("BookId"); + + b.HasIndex("CompanyId"); + + b.HasIndex("RoleId"); + + b.ToTable("CompaniesByBooks"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesByDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CompanyId") + .HasColumnType("int"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DocumentId") + .HasColumnType("bigint"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RoleId"); + + b.ToTable("CompaniesByDocuments"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesByMagazine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CompanyId") + .HasColumnType("int"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MagazineId") + .HasColumnType("bigint"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("MagazineId"); + + b.HasIndex("RoleId"); + + b.ToTable("CompaniesByMagazines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareFamily", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CompanyId") + .HasColumnType("int(11)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("SoftwareFamilyId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("RoleId"); + + b.HasIndex("SoftwareFamilyId"); + + b.ToTable("CompaniesBySoftwareFamily"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CompanyId") + .HasColumnType("int(11)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("RoleId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("CompaniesBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareVersion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CompanyId") + .HasColumnType("int(11)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("SoftwareVersionId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("RoleId"); + + b.HasIndex("SoftwareVersionId"); + + b.ToTable("CompaniesBySoftwareVersion"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Company", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("Address") + .HasMaxLength(80) + .HasColumnType("varchar(80)") + .HasColumnName("address"); + + b.Property("City") + .HasMaxLength(80) + .HasColumnType("varchar(80)") + .HasColumnName("city"); + + b.Property("CountryId") + .HasColumnType("smallint(3)") + .HasColumnName("country"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DocumentCompanyId") + .HasColumnType("int"); + + b.Property("Facebook") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("facebook"); + + b.Property("Founded") + .HasColumnType("datetime") + .HasColumnName("founded"); + + b.Property("FoundedDayIsUnknown") + .HasColumnType("bit(1)"); + + b.Property("FoundedMonthIsUnknown") + .HasColumnType("bit(1)"); + + b.Property("LegalName") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Name") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("varchar(128)") + .HasColumnName("name") + .HasDefaultValueSql("''"); + + b.Property("PostalCode") + .HasMaxLength(25) + .HasColumnType("varchar(25)") + .HasColumnName("postal_code"); + + b.Property("Province") + .HasMaxLength(80) + .HasColumnType("varchar(80)") + .HasColumnName("province"); + + b.Property("Sold") + .HasColumnType("datetime") + .HasColumnName("sold"); + + b.Property("SoldDayIsUnknown") + .HasColumnType("bit(1)"); + + b.Property("SoldMonthIsUnknown") + .HasColumnType("bit(1)"); + + b.Property("SoldToId") + .HasColumnType("int(11)") + .HasColumnName("sold_to"); + + b.Property("Status") + .HasColumnType("int(11)") + .HasColumnName("status"); + + b.Property("Twitter") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("twitter"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Website") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasColumnName("website"); + + b.HasKey("Id"); + + b.HasIndex("Address") + .HasDatabaseName("idx_companies_address"); + + b.HasIndex("City") + .HasDatabaseName("idx_companies_city"); + + b.HasIndex("CountryId") + .HasDatabaseName("idx_companies_country"); + + b.HasIndex("Facebook") + .HasDatabaseName("idx_companies_facebook"); + + b.HasIndex("Founded") + .HasDatabaseName("idx_companies_founded"); + + b.HasIndex("Name") + .HasDatabaseName("idx_companies_name"); + + b.HasIndex("PostalCode") + .HasDatabaseName("idx_companies_postal_code"); + + b.HasIndex("Province") + .HasDatabaseName("idx_companies_province"); + + b.HasIndex("Sold") + .HasDatabaseName("idx_companies_sold"); + + b.HasIndex("SoldToId") + .HasDatabaseName("idx_companies_sold_to"); + + b.HasIndex("Status") + .HasDatabaseName("idx_companies_status"); + + b.HasIndex("Twitter") + .HasDatabaseName("idx_companies_twitter"); + + b.HasIndex("Website") + .HasDatabaseName("idx_companies_website"); + + b.ToTable("companies"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompanyDescription", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("CompanyId") + .HasColumnType("int(11)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Html") + .HasMaxLength(262144) + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Text") + .IsRequired() + .HasMaxLength(262144) + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("Text") + .HasAnnotation("MySql:FullTextIndex", true); + + b.ToTable("CompanyDescriptions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompanyLogo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CompanyId") + .HasColumnType("int(11)") + .HasColumnName("company_id"); + + b.Property("Guid") + .HasColumnType("char(36)") + .HasColumnName("logo_guid"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Year") + .HasColumnType("int(4)") + .HasColumnName("year"); + + b.HasKey("Id", "CompanyId", "Guid"); + + b.HasIndex("CompanyId") + .HasDatabaseName("idx_company_id"); + + b.HasIndex("Guid") + .HasDatabaseName("idx_guid"); + + b.HasIndex("Id") + .IsUnique() + .HasDatabaseName("idx_id"); + + b.ToTable("company_logos"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CurrencyInflation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CurrencyCode") + .IsRequired() + .HasColumnType("varchar(3) CHARACTER SET utf8mb4"); + + b.Property("Inflation") + .HasColumnType("float"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Year") + .HasColumnType("int unsigned"); + + b.HasKey("Id"); + + b.HasIndex("CurrencyCode"); + + b.HasIndex("Year"); + + b.ToTable("CurrenciesInflation"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CurrencyPegging", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DestinationCode") + .IsRequired() + .HasColumnType("varchar(3) CHARACTER SET utf8mb4"); + + b.Property("End") + .HasColumnType("datetime(6)"); + + b.Property("Ratio") + .HasColumnType("float"); + + b.Property("SourceCode") + .IsRequired() + .HasColumnType("varchar(3) CHARACTER SET utf8mb4"); + + b.Property("Start") + .HasColumnType("datetime(6)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("DestinationCode"); + + b.HasIndex("End"); + + b.HasIndex("SourceCode"); + + b.HasIndex("Start"); + + b.ToTable("CurrenciesPegging"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DbFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("AccoustId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Hack") + .HasColumnType("bit(1)"); + + b.Property("HackGroup") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Infected") + .HasColumnType("bit(1)"); + + b.Property("Magic") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Malware") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Md5") + .HasColumnType("binary(16)"); + + b.Property("Mime") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Sha1") + .HasColumnType("binary(20)"); + + b.Property("Sha256") + .HasColumnType("binary(32)"); + + b.Property("Sha3") + .HasColumnType("binary(64)"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("Spamsum") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("AccoustId"); + + b.HasIndex("Hack"); + + b.HasIndex("HackGroup"); + + b.HasIndex("Infected"); + + b.HasIndex("Magic"); + + b.HasIndex("Malware"); + + b.HasIndex("Md5"); + + b.HasIndex("Mime"); + + b.HasIndex("Sha1"); + + b.HasIndex("Sha256"); + + b.HasIndex("Sha3"); + + b.HasIndex("Size"); + + b.HasIndex("Spamsum"); + + b.ToTable("Files"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Document", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CountryId") + .HasColumnType("smallint(3)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("NativeTitle") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Published") + .HasColumnType("datetime(6)"); + + b.Property("Synopsis") + .HasMaxLength(262144) + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Title") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CountryId"); + + b.HasIndex("NativeTitle"); + + b.HasIndex("Published"); + + b.HasIndex("Synopsis") + .HasAnnotation("MySql:FullTextIndex", true); + + b.HasIndex("Title"); + + b.ToTable("Documents"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentCompany", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("CompanyId") + .HasColumnType("int(11)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId") + .IsUnique(); + + b.HasIndex("Name"); + + b.ToTable("DocumentCompanies"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentPerson", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("Alias") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DisplayName") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Name") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("Surname") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Alias"); + + b.HasIndex("DisplayName"); + + b.HasIndex("Name"); + + b.HasIndex("PersonId") + .IsUnique(); + + b.HasIndex("Surname"); + + b.ToTable("DocumentPeople"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentRole", b => + { + b.Property("Id") + .HasColumnType("char(3)"); + + b.Property("Enabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit(1)") + .HasDefaultValue(true); + + b.Property("Name") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("Enabled"); + + b.HasIndex("Name"); + + b.ToTable("DocumentRoles"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentScan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Author") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ColorSpace") + .HasColumnType("smallint unsigned"); + + b.Property("Comments") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DocumentId") + .HasColumnType("bigint"); + + b.Property("ExifVersion") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("HorizontalResolution") + .HasColumnType("double"); + + b.Property("OriginalExtension") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Page") + .HasColumnType("int unsigned"); + + b.Property("ResolutionUnit") + .HasColumnType("smallint unsigned"); + + b.Property("ScannerManufacturer") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ScannerModel") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("SoftwareUsed") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Type") + .HasColumnType("int unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UploadDate") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("VerticalResolution") + .HasColumnType("double"); + + b.HasKey("Id"); + + b.HasIndex("Author"); + + b.HasIndex("ColorSpace"); + + b.HasIndex("Comments"); + + b.HasIndex("CreationDate"); + + b.HasIndex("DocumentId"); + + b.HasIndex("ExifVersion"); + + b.HasIndex("HorizontalResolution"); + + b.HasIndex("Page"); + + b.HasIndex("ResolutionUnit"); + + b.HasIndex("ScannerManufacturer"); + + b.HasIndex("ScannerModel"); + + b.HasIndex("SoftwareUsed"); + + b.HasIndex("Type"); + + b.HasIndex("UploadDate"); + + b.HasIndex("UserId"); + + b.HasIndex("VerticalResolution"); + + b.ToTable("DocumentScans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentsByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DocumentId") + .HasColumnType("bigint"); + + b.Property("MachineId") + .HasColumnType("int(11)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("MachineId"); + + b.ToTable("DocumentsByMachines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentsByMachineFamily", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DocumentId") + .HasColumnType("bigint"); + + b.Property("MachineFamilyId") + .HasColumnType("int(11)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("MachineFamilyId"); + + b.ToTable("DocumentsByMachineFamily"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Dump", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DumpDate") + .HasColumnType("datetime(6)"); + + b.Property("Dumper") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("DumpingGroup") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("MediaDumpId") + .HasColumnType("bigint unsigned"); + + b.Property("MediaId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("DumpDate"); + + b.HasIndex("Dumper"); + + b.HasIndex("DumpingGroup"); + + b.HasIndex("MediaDumpId"); + + b.HasIndex("MediaId"); + + b.HasIndex("UserId"); + + b.ToTable("Dumps"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DumpHardware", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DumpId") + .HasColumnType("bigint unsigned"); + + b.Property("Extents") + .IsRequired() + .HasColumnType("json"); + + b.Property("Firmware") + .HasMaxLength(32) + .HasColumnType("varchar(32) CHARACTER SET utf8mb4"); + + b.Property("Manufacturer") + .HasMaxLength(48) + .HasColumnType("varchar(48) CHARACTER SET utf8mb4"); + + b.Property("Model") + .IsRequired() + .HasMaxLength(48) + .HasColumnType("varchar(48) CHARACTER SET utf8mb4"); + + b.Property("Revision") + .HasMaxLength(48) + .HasColumnType("varchar(48) CHARACTER SET utf8mb4"); + + b.Property("Serial") + .HasMaxLength(64) + .HasColumnType("varchar(64) CHARACTER SET utf8mb4"); + + b.Property("SoftwareName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64) CHARACTER SET utf8mb4"); + + b.Property("SoftwareOperatingSystem") + .HasMaxLength(64) + .HasColumnType("varchar(64) CHARACTER SET utf8mb4"); + + b.Property("SoftwareVersion") + .HasMaxLength(32) + .HasColumnType("varchar(32) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("DumpId"); + + b.HasIndex("Firmware"); + + b.HasIndex("Manufacturer"); + + b.HasIndex("Model"); + + b.HasIndex("Revision"); + + b.HasIndex("Serial"); + + b.HasIndex("SoftwareName"); + + b.HasIndex("SoftwareOperatingSystem"); + + b.HasIndex("SoftwareVersion"); + + b.ToTable("DumpHardwares"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FileDataStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FileId") + .HasColumnType("bigint unsigned"); + + b.Property("Name") + .HasMaxLength(255) + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FileId"); + + b.HasIndex("Name"); + + b.HasIndex("Size"); + + b.ToTable("FileDataStreams"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FileDataStreamsByMediaFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FileDataStreamId") + .HasColumnType("bigint unsigned"); + + b.Property("MediaFileId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FileDataStreamId"); + + b.HasIndex("MediaFileId"); + + b.ToTable("FileDataStreamsByMediaFile"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FileDataStreamsByStandaloneFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FileDataStreamId") + .HasColumnType("bigint unsigned"); + + b.Property("StandaloneFileId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FileDataStreamId"); + + b.HasIndex("StandaloneFileId"); + + b.ToTable("FileDataStreamsByStandaloneFile"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FilesByFilesystem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FileId") + .HasColumnType("bigint unsigned"); + + b.Property("FilesystemId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FileId"); + + b.HasIndex("FilesystemId"); + + b.ToTable("FilesByFilesystem"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Filesystem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("ApplicationIdentifier") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("BackupDate") + .HasColumnType("datetime(6)"); + + b.Property("Bootable") + .HasColumnType("bit(1)"); + + b.Property("ClusterSize") + .HasColumnType("int"); + + b.Property("Clusters") + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DataPreparerIdentifier") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("EffectiveDate") + .HasColumnType("datetime(6)"); + + b.Property("ExpirationDate") + .HasColumnType("datetime(6)"); + + b.Property("FilesCount") + .HasColumnType("bigint unsigned"); + + b.Property("FreeClusters") + .HasColumnType("bigint unsigned"); + + b.Property("Label") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ModificationDate") + .HasColumnType("datetime(6)"); + + b.Property("PublisherIdentifier") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Serial") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("SystemIdentifier") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Type") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("VolumeSetIdentifier") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationIdentifier"); + + b.HasIndex("BackupDate"); + + b.HasIndex("CreationDate"); + + b.HasIndex("DataPreparerIdentifier"); + + b.HasIndex("Label"); + + b.HasIndex("ModificationDate"); + + b.HasIndex("PublisherIdentifier"); + + b.HasIndex("Serial"); + + b.HasIndex("SystemIdentifier"); + + b.HasIndex("Type"); + + b.HasIndex("VolumeSetIdentifier"); + + b.ToTable("Filesystems"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FilesystemsByLogicalPartition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FilesystemId") + .HasColumnType("bigint unsigned"); + + b.Property("PartitionId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FilesystemId"); + + b.HasIndex("PartitionId"); + + b.ToTable("FilesystemsByLogicalPartition"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FilesystemsByMediaDumpFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FilesystemId") + .HasColumnType("bigint unsigned"); + + b.Property("MediaDumpFileImageId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FilesystemId"); + + b.HasIndex("MediaDumpFileImageId"); + + b.ToTable("FilesystemsByMediaDumpFile"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Forbidden", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("Browser") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(128)") + .HasColumnName("browser") + .HasDefaultValueSql("''"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Date") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(20)") + .HasColumnName("date") + .HasDefaultValueSql("''"); + + b.Property("Ip") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(16)") + .HasColumnName("ip") + .HasDefaultValueSql("''"); + + b.Property("Referer") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(255)") + .HasColumnName("referer") + .HasDefaultValueSql("''"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Browser") + .HasDatabaseName("idx_forbidden_browser"); + + b.HasIndex("Date") + .HasDatabaseName("idx_forbidden_date"); + + b.HasIndex("Ip") + .HasDatabaseName("idx_forbidden_ip"); + + b.HasIndex("Referer") + .HasDatabaseName("idx_forbidden_referer"); + + b.ToTable("forbidden"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Gpu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CompanyId") + .HasColumnType("int(11)") + .HasColumnName("company"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DieSize") + .HasColumnType("float") + .HasColumnName("die_size"); + + b.Property("Introduced") + .HasColumnType("datetime") + .HasColumnName("introduced"); + + b.Property("ModelCode") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("model_code"); + + b.Property("Name") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(128) + .HasColumnType("char(128)") + .HasColumnName("name") + .HasDefaultValueSql("''"); + + b.Property("Package") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("package"); + + b.Property("Process") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("process"); + + b.Property("ProcessNm") + .HasColumnType("float") + .HasColumnName("process_nm"); + + b.Property("Transistors") + .HasColumnType("bigint(20)") + .HasColumnName("transistors"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId") + .HasDatabaseName("idx_gpus_company"); + + b.HasIndex("DieSize") + .HasDatabaseName("idx_gpus_die_size"); + + b.HasIndex("Introduced") + .HasDatabaseName("idx_gpus_introduced"); + + b.HasIndex("ModelCode") + .HasDatabaseName("idx_gpus_model_code"); + + b.HasIndex("Name") + .HasDatabaseName("idx_gpus_name"); + + b.HasIndex("Package") + .HasDatabaseName("idx_gpus_package"); + + b.HasIndex("Process") + .HasDatabaseName("idx_gpus_process"); + + b.HasIndex("ProcessNm") + .HasDatabaseName("idx_gpus_process_nm"); + + b.HasIndex("Transistors") + .HasDatabaseName("idx_gpus_transistors"); + + b.ToTable("gpus"); + }); + + modelBuilder.Entity("Marechai.Database.Models.GpusByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint(20)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("GpuId") + .HasColumnType("int(11)") + .HasColumnName("gpu"); + + b.Property("MachineId") + .HasColumnType("int(11)") + .HasColumnName("machine"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("GpuId") + .HasDatabaseName("idx_gpus_by_machine_gpus"); + + b.HasIndex("MachineId") + .HasDatabaseName("idx_gpus_by_machine_machine"); + + b.ToTable("gpus_by_machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.GpusByOwnedMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("GpuId") + .HasColumnType("int(11)"); + + b.Property("OwnedMachineId") + .HasColumnType("bigint"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("GpuId"); + + b.HasIndex("OwnedMachineId"); + + b.ToTable("GpusByOwnedMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.GpusBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("GpuId") + .HasColumnType("int(11)"); + + b.Property("Minimum") + .HasColumnType("bit(1)"); + + b.Property("Recommended") + .HasColumnType("bit(1)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("GpuId"); + + b.HasIndex("Minimum"); + + b.HasIndex("Recommended"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("GpusBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSet", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("instruction_set"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.ToTable("instruction_sets"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtension", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Extension") + .IsRequired() + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("extension"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.ToTable("instruction_set_extensions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtensionsByProcessor", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("ProcessorId") + .HasColumnType("int(11)") + .HasColumnName("processor_id"); + + b.Property("ExtensionId") + .HasColumnType("int(11)") + .HasColumnName("extension_id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id", "ProcessorId", "ExtensionId"); + + b.HasIndex("ExtensionId") + .HasDatabaseName("idx_setextension_extension"); + + b.HasIndex("ProcessorId") + .HasDatabaseName("idx_setextension_processor"); + + b.ToTable("instruction_set_extensions_by_processor"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSetsBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("InstructionSetId") + .HasColumnType("int(11)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("InstructionSetId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("InstructionSetsBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Iso31661Numeric", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("smallint(3)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasColumnName("name"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .HasDatabaseName("idx_name"); + + b.ToTable("iso3166_1_numeric"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Iso4217", b => + { + b.Property("Code") + .HasMaxLength(3) + .HasColumnType("varchar(3) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MinorUnits") + .HasColumnType("tinyint unsigned"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150) CHARACTER SET utf8mb4"); + + b.Property("Numeric") + .HasColumnType("smallint(3)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Withdrawn") + .HasColumnType("datetime(6)"); + + b.HasKey("Code"); + + b.HasIndex("Numeric"); + + b.HasIndex("Withdrawn"); + + b.ToTable("Iso4217"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Iso639", b => + { + b.Property("Id") + .HasColumnType("char(3)"); + + b.Property("Comment") + .HasColumnType("varchar(150)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Part1") + .HasColumnType("char(2)"); + + b.Property("Part2B") + .HasColumnType("char(3)"); + + b.Property("Part2T") + .HasColumnType("char(3)"); + + b.Property("ReferenceName") + .IsRequired() + .HasColumnType("varchar(150)") + .HasColumnName("Ref_Name"); + + b.Property("Scope") + .IsRequired() + .HasColumnType("char(1)"); + + b.Property("Type") + .IsRequired() + .HasColumnType("char(1)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Comment"); + + b.HasIndex("Part1"); + + b.HasIndex("Part2B"); + + b.HasIndex("Part2T"); + + b.HasIndex("ReferenceName"); + + b.HasIndex("Scope"); + + b.HasIndex("Type"); + + b.ToTable("ISO_639-3"); + }); + + modelBuilder.Entity("Marechai.Database.Models.LanguagesBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("LanguageId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("LanguageId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("LanguagesBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.License", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FsfApproved") + .HasColumnType("bit(1)"); + + b.Property("Link") + .HasMaxLength(512) + .HasColumnType("varchar(512) CHARACTER SET utf8mb4"); + + b.Property("Name") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("OsiApproved") + .HasColumnType("bit(1)"); + + b.Property("SPDX") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Text") + .HasMaxLength(131072) + .HasColumnType("longtext"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FsfApproved"); + + b.HasIndex("Name"); + + b.HasIndex("OsiApproved"); + + b.HasIndex("SPDX"); + + b.ToTable("Licenses"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Log", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("Browser") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(128)") + .HasColumnName("browser") + .HasDefaultValueSql("''"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Date") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(20)") + .HasColumnName("date") + .HasDefaultValueSql("''"); + + b.Property("Ip") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(16)") + .HasColumnName("ip") + .HasDefaultValueSql("''"); + + b.Property("Referer") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(255)") + .HasColumnName("referer") + .HasDefaultValueSql("''"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Browser") + .HasDatabaseName("idx_log_browser"); + + b.HasIndex("Date") + .HasDatabaseName("idx_log_date"); + + b.HasIndex("Ip") + .HasDatabaseName("idx_log_ip"); + + b.HasIndex("Referer") + .HasDatabaseName("idx_log_referer"); + + b.ToTable("log"); + }); + + modelBuilder.Entity("Marechai.Database.Models.LogicalPartition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Description") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("FirstSector") + .HasColumnType("bigint unsigned"); + + b.Property("LastSector") + .HasColumnType("bigint unsigned"); + + b.Property("Name") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Scheme") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Sequence") + .HasColumnType("int unsigned"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("Type") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Description"); + + b.HasIndex("FirstSector"); + + b.HasIndex("LastSector"); + + b.HasIndex("Name"); + + b.HasIndex("Scheme"); + + b.HasIndex("Type"); + + b.ToTable("LogicalPartitions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.LogicalPartitionsByMedia", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MediaId") + .HasColumnType("bigint unsigned"); + + b.Property("PartitionId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MediaId"); + + b.HasIndex("PartitionId"); + + b.ToTable("LogicalPartitionsByMedia"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Machine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CompanyId") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("company") + .HasDefaultValueSql("'0'"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FamilyId") + .HasColumnType("int(11)") + .HasColumnName("family"); + + b.Property("Introduced") + .HasColumnType("datetime") + .HasColumnName("introduced"); + + b.Property("Model") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasColumnName("model"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasColumnName("name"); + + b.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("type") + .HasDefaultValueSql("'0'"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId") + .HasDatabaseName("idx_machines_company"); + + b.HasIndex("FamilyId") + .HasDatabaseName("idx_machines_family"); + + b.HasIndex("Introduced") + .HasDatabaseName("idx_machines_introduced"); + + b.HasIndex("Model") + .HasDatabaseName("idx_machines_model"); + + b.HasIndex("Name") + .HasDatabaseName("idx_machines_name"); + + b.HasIndex("Type") + .HasDatabaseName("idx_machines_type"); + + b.ToTable("machines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachineFamiliesBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineFamilyId") + .HasColumnType("int(11)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MachineFamilyId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("MachineFamiliesBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachineFamily", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CompanyId") + .HasColumnType("int(11)") + .HasColumnName("company"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasColumnName("name"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId") + .HasDatabaseName("idx_machine_families_company"); + + b.HasIndex("Name") + .HasDatabaseName("idx_machine_families_name"); + + b.ToTable("machine_families"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachinePhoto", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Aperture") + .HasColumnType("double"); + + b.Property("Author") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CameraManufacturer") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CameraModel") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ColorSpace") + .HasColumnType("smallint unsigned"); + + b.Property("Comments") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Contrast") + .HasColumnType("smallint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DigitalZoomRatio") + .HasColumnType("double"); + + b.Property("ExifVersion") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ExposureMethod") + .HasColumnType("smallint unsigned"); + + b.Property("ExposureProgram") + .HasColumnType("smallint unsigned"); + + b.Property("ExposureTime") + .HasColumnType("double"); + + b.Property("Flash") + .HasColumnType("smallint unsigned"); + + b.Property("Focal") + .HasColumnType("double"); + + b.Property("FocalLength") + .HasColumnType("double"); + + b.Property("FocalLengthEquivalent") + .HasColumnType("double"); + + b.Property("HorizontalResolution") + .HasColumnType("double"); + + b.Property("IsoRating") + .HasColumnType("smallint unsigned"); + + b.Property("Lens") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("LicenseId") + .HasColumnType("int"); + + b.Property("LightSource") + .HasColumnType("smallint unsigned"); + + b.Property("MachineId") + .HasColumnType("int(11)"); + + b.Property("MeteringMode") + .HasColumnType("smallint unsigned"); + + b.Property("Orientation") + .HasColumnType("smallint unsigned"); + + b.Property("OriginalExtension") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("ResolutionUnit") + .HasColumnType("smallint unsigned"); + + b.Property("Saturation") + .HasColumnType("smallint unsigned"); + + b.Property("SceneCaptureType") + .HasColumnType("smallint unsigned"); + + b.Property("SensingMethod") + .HasColumnType("smallint unsigned"); + + b.Property("Sharpness") + .HasColumnType("smallint unsigned"); + + b.Property("SoftwareUsed") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Source") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("SubjectDistanceRange") + .HasColumnType("smallint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UploadDate") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("VerticalResolution") + .HasColumnType("double"); + + b.Property("WhiteBalance") + .HasColumnType("smallint unsigned"); + + b.HasKey("Id"); + + b.HasIndex("Aperture"); + + b.HasIndex("Author"); + + b.HasIndex("CameraManufacturer"); + + b.HasIndex("CameraModel"); + + b.HasIndex("ColorSpace"); + + b.HasIndex("Comments"); + + b.HasIndex("Contrast"); + + b.HasIndex("CreationDate"); + + b.HasIndex("DigitalZoomRatio"); + + b.HasIndex("ExifVersion"); + + b.HasIndex("ExposureMethod"); + + b.HasIndex("ExposureProgram"); + + b.HasIndex("ExposureTime"); + + b.HasIndex("Flash"); + + b.HasIndex("Focal"); + + b.HasIndex("FocalLength"); + + b.HasIndex("FocalLengthEquivalent"); + + b.HasIndex("HorizontalResolution"); + + b.HasIndex("IsoRating"); + + b.HasIndex("Lens"); + + b.HasIndex("LicenseId"); + + b.HasIndex("LightSource"); + + b.HasIndex("MachineId"); + + b.HasIndex("MeteringMode"); + + b.HasIndex("Orientation"); + + b.HasIndex("ResolutionUnit"); + + b.HasIndex("Saturation"); + + b.HasIndex("SceneCaptureType"); + + b.HasIndex("SensingMethod"); + + b.HasIndex("Sharpness"); + + b.HasIndex("SoftwareUsed"); + + b.HasIndex("SubjectDistanceRange"); + + b.HasIndex("UploadDate"); + + b.HasIndex("UserId"); + + b.HasIndex("VerticalResolution"); + + b.HasIndex("WhiteBalance"); + + b.ToTable("MachinePhotos"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachinesBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MachineId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("MachinesBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Magazine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CountryId") + .HasColumnType("smallint(3)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FirstPublication") + .HasColumnType("datetime(6)"); + + b.Property("Issn") + .HasMaxLength(8) + .HasColumnType("varchar(8) CHARACTER SET utf8mb4"); + + b.Property("NativeTitle") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Published") + .HasColumnType("datetime(6)"); + + b.Property("Synopsis") + .HasMaxLength(262144) + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Title") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CountryId"); + + b.HasIndex("FirstPublication"); + + b.HasIndex("Issn"); + + b.HasIndex("NativeTitle"); + + b.HasIndex("Published"); + + b.HasIndex("Synopsis") + .HasAnnotation("MySql:FullTextIndex", true); + + b.HasIndex("Title"); + + b.ToTable("Magazines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazineIssue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("Caption") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("IssueNumber") + .HasColumnType("int unsigned"); + + b.Property("MagazineId") + .HasColumnType("bigint"); + + b.Property("NativeCaption") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Pages") + .HasColumnType("smallint"); + + b.Property("ProductCode") + .HasMaxLength(18) + .HasColumnType("varchar(18) CHARACTER SET utf8mb4"); + + b.Property("Published") + .HasColumnType("datetime(6)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Caption"); + + b.HasIndex("MagazineId"); + + b.HasIndex("NativeCaption"); + + b.HasIndex("Pages"); + + b.HasIndex("ProductCode"); + + b.HasIndex("Published"); + + b.ToTable("MagazineIssues"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazineScan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Author") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ColorSpace") + .HasColumnType("smallint unsigned"); + + b.Property("Comments") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("ExifVersion") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("HorizontalResolution") + .HasColumnType("double"); + + b.Property("MagazineId") + .HasColumnType("bigint"); + + b.Property("OriginalExtension") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("Page") + .HasColumnType("int unsigned"); + + b.Property("ResolutionUnit") + .HasColumnType("smallint unsigned"); + + b.Property("ScannerManufacturer") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ScannerModel") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("SoftwareUsed") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Type") + .HasColumnType("int unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UploadDate") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("VerticalResolution") + .HasColumnType("double"); + + b.HasKey("Id"); + + b.HasIndex("Author"); + + b.HasIndex("ColorSpace"); + + b.HasIndex("Comments"); + + b.HasIndex("CreationDate"); + + b.HasIndex("ExifVersion"); + + b.HasIndex("HorizontalResolution"); + + b.HasIndex("MagazineId"); + + b.HasIndex("Page"); + + b.HasIndex("ResolutionUnit"); + + b.HasIndex("ScannerManufacturer"); + + b.HasIndex("ScannerModel"); + + b.HasIndex("SoftwareUsed"); + + b.HasIndex("Type"); + + b.HasIndex("UploadDate"); + + b.HasIndex("UserId"); + + b.HasIndex("VerticalResolution"); + + b.ToTable("MagazineScans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazinesByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)"); + + b.Property("MagazineId") + .HasColumnType("bigint"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MachineId"); + + b.HasIndex("MagazineId"); + + b.ToTable("MagazinesByMachines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazinesByMachineFamily", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineFamilyId") + .HasColumnType("int(11)"); + + b.Property("MagazineId") + .HasColumnType("bigint"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MachineFamilyId"); + + b.HasIndex("MagazineId"); + + b.ToTable("MagazinesByMachinesFamilies"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MarechaiDb", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("Updated") + .ValueGeneratedOnAdd() + .HasColumnType("datetime") + .HasColumnName("updated") + .HasDefaultValueSql("CURRENT_TIMESTAMP"); + + b.Property("Version") + .HasColumnType("int(11)") + .HasColumnName("version"); + + b.HasKey("Id"); + + b.ToTable("marechai_db"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MasteringText", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Layer") + .HasColumnType("smallint"); + + b.Property("MediaId") + .HasColumnType("bigint unsigned"); + + b.Property("Side") + .HasColumnType("smallint"); + + b.Property("Text") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MediaId"); + + b.HasIndex("Text"); + + b.HasIndex("Type"); + + b.ToTable("MasteringTexts"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Media", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("Barcode") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("BlockSizes") + .HasColumnType("json"); + + b.Property("CatalogueNumber") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CopyProtection") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Firmware") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("LastSequence") + .HasColumnType("smallint unsigned"); + + b.Property("Layers") + .HasColumnType("smallint unsigned"); + + b.Property("LogicalBlockSize") + .HasColumnType("int"); + + b.Property("MagazineIssueId") + .HasColumnType("bigint"); + + b.Property("Manufacturer") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Model") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("PartNumber") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("PhysicalBlockSize") + .HasColumnType("int"); + + b.Property("Revision") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Sectors") + .HasColumnType("bigint unsigned"); + + b.Property("Sequence") + .HasColumnType("smallint unsigned"); + + b.Property("SerialNumber") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Sessions") + .HasColumnType("smallint unsigned"); + + b.Property("Sides") + .HasColumnType("smallint unsigned"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("StorageInterface") + .HasColumnType("int"); + + b.Property("TableOfContents") + .HasColumnType("json"); + + b.Property("Title") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Tracks") + .HasColumnType("smallint unsigned"); + + b.Property("Type") + .HasColumnType("int unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("WriteOffset") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("Barcode"); + + b.HasIndex("CatalogueNumber"); + + b.HasIndex("CopyProtection"); + + b.HasIndex("Firmware"); + + b.HasIndex("MagazineIssueId"); + + b.HasIndex("Manufacturer"); + + b.HasIndex("Model"); + + b.HasIndex("PartNumber"); + + b.HasIndex("Revision"); + + b.HasIndex("SerialNumber"); + + b.HasIndex("Title"); + + b.HasIndex("Type"); + + b.ToTable("Media"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MediaId") + .HasColumnType("bigint unsigned"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MediaId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("MediaBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDump", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Format") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("MediaId") + .HasColumnType("bigint unsigned"); + + b.Property("Status") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Format"); + + b.HasIndex("MediaId"); + + b.HasIndex("Status"); + + b.ToTable("MediaDumps"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpFileImage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FileSequence") + .HasColumnType("bigint"); + + b.Property("Md5") + .HasColumnType("binary(16)"); + + b.Property("MediaDumpId") + .HasColumnType("bigint unsigned"); + + b.Property("PartitionSequence") + .HasColumnType("smallint"); + + b.Property("Sha1") + .HasColumnType("binary(20)"); + + b.Property("Sha256") + .HasColumnType("binary(32)"); + + b.Property("Sha3") + .HasColumnType("binary(64)"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("Spamsum") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Md5"); + + b.HasIndex("MediaDumpId"); + + b.HasIndex("Sha1"); + + b.HasIndex("Sha256"); + + b.HasIndex("Sha3"); + + b.HasIndex("Size"); + + b.HasIndex("Spamsum"); + + b.ToTable("MediaDumpFileImages"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpImage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("AccoustId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Md5") + .HasColumnType("binary(16)"); + + b.Property("MediaDumpId") + .HasColumnType("bigint unsigned"); + + b.Property("Sha1") + .HasColumnType("binary(20)"); + + b.Property("Sha256") + .HasColumnType("binary(32)"); + + b.Property("Sha3") + .HasColumnType("binary(64)"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("Spamsum") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("AccoustId"); + + b.HasIndex("Md5"); + + b.HasIndex("MediaDumpId") + .IsUnique(); + + b.HasIndex("Sha1"); + + b.HasIndex("Sha256"); + + b.HasIndex("Sha3"); + + b.HasIndex("Size"); + + b.HasIndex("Spamsum"); + + b.ToTable("MediaDumpImages"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpSubchannelImage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Md5") + .HasColumnType("binary(16)"); + + b.Property("MediaDumpId") + .HasColumnType("bigint unsigned"); + + b.Property("Sha1") + .HasColumnType("binary(20)"); + + b.Property("Sha256") + .HasColumnType("binary(32)"); + + b.Property("Sha3") + .HasColumnType("binary(64)"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("Spamsum") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Status") + .HasColumnType("tinyint unsigned"); + + b.Property("TrackId") + .HasColumnType("bigint unsigned"); + + b.Property("TrackSequence") + .HasColumnType("smallint"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Md5"); + + b.HasIndex("MediaDumpId") + .IsUnique(); + + b.HasIndex("Sha1"); + + b.HasIndex("Sha256"); + + b.HasIndex("Sha3"); + + b.HasIndex("Size"); + + b.HasIndex("Spamsum"); + + b.HasIndex("TrackId") + .IsUnique(); + + b.ToTable("MediaDumpSubchannelImages"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpTrackImage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Format") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Md5") + .HasColumnType("binary(16)"); + + b.Property("MediaDumpId") + .HasColumnType("bigint unsigned"); + + b.Property("Sha1") + .HasColumnType("binary(20)"); + + b.Property("Sha256") + .HasColumnType("binary(32)"); + + b.Property("Sha3") + .HasColumnType("binary(64)"); + + b.Property("Size") + .HasColumnType("bigint unsigned"); + + b.Property("Spamsum") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("TrackSequence") + .HasColumnType("smallint"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Format"); + + b.HasIndex("Md5"); + + b.HasIndex("MediaDumpId"); + + b.HasIndex("Sha1"); + + b.HasIndex("Sha256"); + + b.HasIndex("Sha3"); + + b.HasIndex("Size"); + + b.HasIndex("Spamsum"); + + b.ToTable("MediaDumpTrackImages"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("AccessDate") + .HasColumnType("datetime(6)"); + + b.Property("Attributes") + .HasColumnType("bigint unsigned"); + + b.Property("BackupDate") + .HasColumnType("datetime(6)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DeviceNumber") + .HasColumnType("int unsigned"); + + b.Property("GroupId") + .HasColumnType("bigint unsigned"); + + b.Property("Inode") + .HasColumnType("bigint unsigned"); + + b.Property("IsDirectory") + .HasColumnType("bit(1)"); + + b.Property("LastWriteDate") + .HasColumnType("datetime(6)"); + + b.Property("Links") + .HasColumnType("bigint unsigned"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Path") + .IsRequired() + .HasMaxLength(8192) + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("PathSeparator") + .IsRequired() + .HasColumnType("varchar(1) CHARACTER SET utf8mb4"); + + b.Property("PosixMode") + .HasColumnType("smallint unsigned"); + + b.Property("StatusChangeDate") + .HasColumnType("datetime(6)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("bigint unsigned"); + + b.HasKey("Id"); + + b.HasIndex("AccessDate"); + + b.HasIndex("BackupDate"); + + b.HasIndex("CreationDate"); + + b.HasIndex("GroupId"); + + b.HasIndex("IsDirectory"); + + b.HasIndex("LastWriteDate"); + + b.HasIndex("Name"); + + b.HasIndex("Path"); + + b.HasIndex("StatusChangeDate"); + + b.HasIndex("UserId"); + + b.ToTable("MediaFiles"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaTagDump", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FileId") + .HasColumnType("bigint unsigned"); + + b.Property("MediaDumpId") + .HasColumnType("bigint unsigned"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("FileId"); + + b.HasIndex("MediaDumpId"); + + b.HasIndex("Type"); + + b.ToTable("MediaTagDumps"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MemoryByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint(20)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)") + .HasColumnName("machine"); + + b.Property("Size") + .HasColumnType("bigint(20)") + .HasColumnName("size"); + + b.Property("Speed") + .HasColumnType("double") + .HasColumnName("speed"); + + b.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("type") + .HasDefaultValueSql("'0'"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Usage") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("usage") + .HasDefaultValueSql("'0'"); + + b.HasKey("Id"); + + b.HasIndex("MachineId") + .HasDatabaseName("idx_memory_by_machine_machine"); + + b.HasIndex("Size") + .HasDatabaseName("idx_memory_by_machine_size"); + + b.HasIndex("Speed") + .HasDatabaseName("idx_memory_by_machine_speed"); + + b.HasIndex("Type") + .HasDatabaseName("idx_memory_by_machine_type"); + + b.HasIndex("Usage") + .HasDatabaseName("idx_memory_by_machine_usage"); + + b.ToTable("memory_by_machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MemoryByOwnedMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("OwnedMachineId") + .HasColumnType("bigint"); + + b.Property("Size") + .HasColumnType("bigint"); + + b.Property("Speed") + .HasColumnType("double"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Usage") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("OwnedMachineId"); + + b.HasIndex("Size"); + + b.HasIndex("Speed"); + + b.HasIndex("Type"); + + b.HasIndex("Usage"); + + b.ToTable("MemoryByOwnedMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MoneyDonation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Donator") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("char(128)") + .HasColumnName("donator") + .HasDefaultValueSql("''"); + + b.Property("Quantity") + .ValueGeneratedOnAdd() + .HasColumnType("decimal(11,2)") + .HasColumnName("quantity") + .HasDefaultValueSql("'0.00'"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Donator") + .HasDatabaseName("idx_money_donations_donator"); + + b.HasIndex("Quantity") + .HasDatabaseName("idx_money_donations_quantity"); + + b.ToTable("money_donations"); + }); + + modelBuilder.Entity("Marechai.Database.Models.News", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("AddedId") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("added_id") + .HasDefaultValueSql("'0'"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Date") + .HasColumnType("datetime") + .HasColumnName("date"); + + b.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("type") + .HasDefaultValueSql("'0'"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("AddedId") + .HasDatabaseName("idx_news_ip"); + + b.HasIndex("Date") + .HasDatabaseName("idx_news_date"); + + b.HasIndex("Type") + .HasDatabaseName("idx_news_type"); + + b.ToTable("news"); + }); + + modelBuilder.Entity("Marechai.Database.Models.OwnedMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("AcquisitionDate") + .HasColumnType("datetime(6)"); + + b.Property("Boxed") + .HasColumnType("bit(1)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("LastStatusDate") + .HasColumnType("datetime(6)"); + + b.Property("LostDate") + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)"); + + b.Property("Manuals") + .HasColumnType("bit(1)"); + + b.Property("SerialNumber") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("SerialNumberVisible") + .ValueGeneratedOnAdd() + .HasColumnType("bit(1)") + .HasDefaultValue(true); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Trade") + .HasColumnType("bit(1)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("AcquisitionDate"); + + b.HasIndex("Boxed"); + + b.HasIndex("LastStatusDate"); + + b.HasIndex("LostDate"); + + b.HasIndex("MachineId"); + + b.HasIndex("Manuals"); + + b.HasIndex("SerialNumber"); + + b.HasIndex("SerialNumberVisible"); + + b.HasIndex("Status"); + + b.HasIndex("Trade"); + + b.HasIndex("UserId"); + + b.ToTable("OwnedMachines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.OwnedMachinePhoto", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("Aperture") + .HasColumnType("double"); + + b.Property("Author") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CameraManufacturer") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CameraModel") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ColorSpace") + .HasColumnType("smallint unsigned"); + + b.Property("Comments") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Contrast") + .HasColumnType("smallint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DigitalZoomRatio") + .HasColumnType("double"); + + b.Property("ExifVersion") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ExposureMethod") + .HasColumnType("smallint unsigned"); + + b.Property("ExposureProgram") + .HasColumnType("smallint unsigned"); + + b.Property("ExposureTime") + .HasColumnType("double"); + + b.Property("Flash") + .HasColumnType("smallint unsigned"); + + b.Property("Focal") + .HasColumnType("double"); + + b.Property("FocalLength") + .HasColumnType("double"); + + b.Property("FocalLengthEquivalent") + .HasColumnType("double"); + + b.Property("HorizontalResolution") + .HasColumnType("double"); + + b.Property("IsoRating") + .HasColumnType("smallint unsigned"); + + b.Property("Lens") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("LicenseId") + .HasColumnType("int"); + + b.Property("LightSource") + .HasColumnType("smallint unsigned"); + + b.Property("MeteringMode") + .HasColumnType("smallint unsigned"); + + b.Property("Orientation") + .HasColumnType("smallint unsigned"); + + b.Property("OriginalExtension") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("OwnedMachineId") + .HasColumnType("bigint"); + + b.Property("ResolutionUnit") + .HasColumnType("smallint unsigned"); + + b.Property("Saturation") + .HasColumnType("smallint unsigned"); + + b.Property("SceneCaptureType") + .HasColumnType("smallint unsigned"); + + b.Property("SensingMethod") + .HasColumnType("smallint unsigned"); + + b.Property("Sharpness") + .HasColumnType("smallint unsigned"); + + b.Property("SoftwareUsed") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("SubjectDistanceRange") + .HasColumnType("smallint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UploadDate") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("VerticalResolution") + .HasColumnType("double"); + + b.Property("WhiteBalance") + .HasColumnType("smallint unsigned"); + + b.HasKey("Id"); + + b.HasIndex("Aperture"); + + b.HasIndex("Author"); + + b.HasIndex("CameraManufacturer"); + + b.HasIndex("CameraModel"); + + b.HasIndex("ColorSpace"); + + b.HasIndex("Comments"); + + b.HasIndex("Contrast"); + + b.HasIndex("CreationDate"); + + b.HasIndex("DigitalZoomRatio"); + + b.HasIndex("ExifVersion"); + + b.HasIndex("ExposureMethod"); + + b.HasIndex("ExposureProgram"); + + b.HasIndex("ExposureTime"); + + b.HasIndex("Flash"); + + b.HasIndex("Focal"); + + b.HasIndex("FocalLength"); + + b.HasIndex("FocalLengthEquivalent"); + + b.HasIndex("HorizontalResolution"); + + b.HasIndex("IsoRating"); + + b.HasIndex("Lens"); + + b.HasIndex("LicenseId"); + + b.HasIndex("LightSource"); + + b.HasIndex("MeteringMode"); + + b.HasIndex("Orientation"); + + b.HasIndex("OwnedMachineId"); + + b.HasIndex("ResolutionUnit"); + + b.HasIndex("Saturation"); + + b.HasIndex("SceneCaptureType"); + + b.HasIndex("SensingMethod"); + + b.HasIndex("Sharpness"); + + b.HasIndex("SoftwareUsed"); + + b.HasIndex("SubjectDistanceRange"); + + b.HasIndex("UploadDate"); + + b.HasIndex("UserId"); + + b.HasIndex("VerticalResolution"); + + b.HasIndex("WhiteBalance"); + + b.ToTable("OwnedMachinePhotos"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByBook", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("BookId") + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("BookId"); + + b.HasIndex("PersonId"); + + b.HasIndex("RoleId"); + + b.ToTable("PeopleByBooks"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByCompany", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CompanyId") + .HasColumnType("int(11)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("End") + .HasColumnType("datetime(6)"); + + b.Property("Ongoing") + .HasColumnType("bit(1)"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("Position") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Start") + .HasColumnType("datetime(6)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId"); + + b.HasIndex("End"); + + b.HasIndex("PersonId"); + + b.HasIndex("Position"); + + b.HasIndex("Start"); + + b.ToTable("PeopleByCompany"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DocumentId") + .HasColumnType("bigint"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PersonId"); + + b.HasIndex("RoleId"); + + b.ToTable("PeopleByDocuments"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByMagazine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MagazineId") + .HasColumnType("bigint"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MagazineId"); + + b.HasIndex("PersonId"); + + b.HasIndex("RoleId"); + + b.ToTable("PeopleByMagazines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareFamily", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("SoftwareFamilyId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("PersonId"); + + b.HasIndex("RoleId"); + + b.HasIndex("SoftwareFamilyId"); + + b.ToTable("PeopleBySoftwareFamily"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("PersonId"); + + b.HasIndex("RoleId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("PeopleBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareVersion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("PersonId") + .HasColumnType("int"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("char(3)"); + + b.Property("SoftwareVersionId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("PersonId"); + + b.HasIndex("RoleId"); + + b.HasIndex("SoftwareVersionId"); + + b.ToTable("PeopleBySoftwareVersion"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Person", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("Alias") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("CountryOfBirthId") + .HasColumnType("smallint(3)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DeathDate") + .HasColumnType("datetime(6)"); + + b.Property("DisplayName") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("DocumentPersonId") + .HasColumnType("int"); + + b.Property("Facebook") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Name") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Photo") + .HasColumnType("char(36)"); + + b.Property("Surname") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Twitter") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Webpage") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("Alias"); + + b.HasIndex("BirthDate"); + + b.HasIndex("CountryOfBirthId"); + + b.HasIndex("DeathDate"); + + b.HasIndex("DisplayName"); + + b.HasIndex("Facebook"); + + b.HasIndex("Name"); + + b.HasIndex("Photo"); + + b.HasIndex("Surname"); + + b.HasIndex("Twitter"); + + b.HasIndex("Webpage"); + + b.ToTable("People"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Processor", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("AddrBus") + .HasColumnType("int(11)") + .HasColumnName("addr_bus"); + + b.Property("CompanyId") + .HasColumnType("int(11)") + .HasColumnName("company"); + + b.Property("Cores") + .HasColumnType("int(11)") + .HasColumnName("cores"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DataBus") + .HasColumnType("int(11)") + .HasColumnName("data_bus"); + + b.Property("DieSize") + .HasColumnType("float") + .HasColumnName("die_size"); + + b.Property("FprSize") + .HasColumnType("int(11)") + .HasColumnName("FPR_size"); + + b.Property("Fprs") + .HasColumnType("int(11)") + .HasColumnName("FPRs"); + + b.Property("GprSize") + .HasColumnType("int(11)") + .HasColumnName("GPR_size"); + + b.Property("Gprs") + .HasColumnType("int(11)") + .HasColumnName("GPRs"); + + b.Property("InstructionSetId") + .HasColumnType("int(11)") + .HasColumnName("instruction_set"); + + b.Property("Introduced") + .HasColumnType("datetime") + .HasColumnName("introduced"); + + b.Property("L1Data") + .HasColumnType("float") + .HasColumnName("L1_data"); + + b.Property("L1Instruction") + .HasColumnType("float") + .HasColumnName("L1_instruction"); + + b.Property("L2") + .HasColumnType("float"); + + b.Property("L3") + .HasColumnType("float"); + + b.Property("ModelCode") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("model_code"); + + b.Property("Name") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(50) + .HasColumnType("char(50)") + .HasColumnName("name") + .HasDefaultValueSql("''"); + + b.Property("Package") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("package"); + + b.Property("Process") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("process"); + + b.Property("ProcessNm") + .HasColumnType("float") + .HasColumnName("process_nm"); + + b.Property("SimdRegisters") + .HasColumnType("int(11)") + .HasColumnName("SIMD_registers"); + + b.Property("SimdSize") + .HasColumnType("int(11)") + .HasColumnName("SIMD_size"); + + b.Property("Speed") + .HasColumnType("double") + .HasColumnName("speed"); + + b.Property("ThreadsPerCore") + .HasColumnType("int(11)") + .HasColumnName("threads_per_core"); + + b.Property("Transistors") + .HasColumnType("bigint(20)") + .HasColumnName("transistors"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("AddrBus") + .HasDatabaseName("idx_processors_addr_bus"); + + b.HasIndex("CompanyId") + .HasDatabaseName("idx_processors_company"); + + b.HasIndex("Cores") + .HasDatabaseName("idx_processors_cores"); + + b.HasIndex("DataBus") + .HasDatabaseName("idx_processors_data_bus"); + + b.HasIndex("DieSize") + .HasDatabaseName("idx_processors_die_size"); + + b.HasIndex("FprSize") + .HasDatabaseName("idx_processors_FPR_size"); + + b.HasIndex("Fprs") + .HasDatabaseName("idx_processors_FPRs"); + + b.HasIndex("GprSize") + .HasDatabaseName("idx_processors_GPR_size"); + + b.HasIndex("Gprs") + .HasDatabaseName("idx_processors_GPRs"); + + b.HasIndex("InstructionSetId") + .HasDatabaseName("idx_processors_instruction_set"); + + b.HasIndex("Introduced") + .HasDatabaseName("idx_processors_introduced"); + + b.HasIndex("L1Data") + .HasDatabaseName("idx_processors_L1_data"); + + b.HasIndex("L1Instruction") + .HasDatabaseName("idx_processors_L1_instruction"); + + b.HasIndex("L2") + .HasDatabaseName("idx_processors_L2"); + + b.HasIndex("L3") + .HasDatabaseName("idx_processors_L3"); + + b.HasIndex("ModelCode") + .HasDatabaseName("idx_processors_model_code"); + + b.HasIndex("Name") + .HasDatabaseName("idx_processors_name"); + + b.HasIndex("Package") + .HasDatabaseName("idx_processors_package"); + + b.HasIndex("Process") + .HasDatabaseName("idx_processors_process"); + + b.HasIndex("ProcessNm") + .HasDatabaseName("idx_processors_process_nm"); + + b.HasIndex("SimdRegisters") + .HasDatabaseName("idx_processors_SIMD_registers"); + + b.HasIndex("SimdSize") + .HasDatabaseName("idx_processors_SIMD_size"); + + b.HasIndex("Speed") + .HasDatabaseName("idx_processors_speed"); + + b.HasIndex("ThreadsPerCore") + .HasDatabaseName("idx_processors_threads_per_core"); + + b.HasIndex("Transistors") + .HasDatabaseName("idx_processors_transistors"); + + b.ToTable("processors"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ProcessorsByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint(20)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)") + .HasColumnName("machine"); + + b.Property("ProcessorId") + .HasColumnType("int(11)") + .HasColumnName("processor"); + + b.Property("Speed") + .HasColumnType("float") + .HasColumnName("speed"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MachineId") + .HasDatabaseName("idx_processors_by_machine_machine"); + + b.HasIndex("ProcessorId") + .HasDatabaseName("idx_processors_by_machine_processor"); + + b.HasIndex("Speed") + .HasDatabaseName("idx_processors_by_machine_speed"); + + b.ToTable("processors_by_machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ProcessorsByOwnedMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("OwnedMachineId") + .HasColumnType("bigint"); + + b.Property("ProcessorId") + .HasColumnType("int(11)"); + + b.Property("Speed") + .HasColumnType("float"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("OwnedMachineId"); + + b.HasIndex("ProcessorId"); + + b.HasIndex("Speed"); + + b.ToTable("ProcessorsByOwnedMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ProcessorsBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Minimum") + .HasColumnType("bit(1)"); + + b.Property("ProcessorId") + .HasColumnType("int(11)"); + + b.Property("Recommended") + .HasColumnType("bit(1)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("Speed") + .HasColumnType("float"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Minimum"); + + b.HasIndex("ProcessorId"); + + b.HasIndex("Recommended"); + + b.HasIndex("SoftwareVariantId"); + + b.HasIndex("Speed"); + + b.ToTable("ProcessorsBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.RequiredOperatingSystemsBySofwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("OperatingSystemId") + .HasColumnType("bigint unsigned"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("OperatingSystemId"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("RequiredOperatingSystemsBySofwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.RequiredSoftwareBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("SoftwareVersionId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("SoftwareVariantId"); + + b.HasIndex("SoftwareVersionId"); + + b.ToTable("RequiredSoftwareBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Resolution", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("Chars") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasColumnName("chars") + .HasDefaultValueSql("'0'"); + + b.Property("Colors") + .HasColumnType("bigint(20)") + .HasColumnName("colors"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Grayscale") + .HasColumnType("bit(1)"); + + b.Property("Height") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("height") + .HasDefaultValueSql("'0'"); + + b.Property("Palette") + .HasColumnType("bigint(20)") + .HasColumnName("palette"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Width") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("width") + .HasDefaultValueSql("'0'"); + + b.HasKey("Id"); + + b.HasIndex("Colors") + .HasDatabaseName("idx_resolutions_colors"); + + b.HasIndex("Height") + .HasDatabaseName("idx_resolutions_height"); + + b.HasIndex("Palette") + .HasDatabaseName("idx_resolutions_palette"); + + b.HasIndex("Width") + .HasDatabaseName("idx_resolutions_width"); + + b.HasIndex("Width", "Height") + .HasDatabaseName("idx_resolutions_resolution"); + + b.HasIndex("Width", "Height", "Colors") + .HasDatabaseName("idx_resolutions_resolution_with_color"); + + b.HasIndex("Width", "Height", "Colors", "Palette") + .HasDatabaseName("idx_resolutions_resolution_with_color_and_palette"); + + b.ToTable("resolutions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ResolutionsByGpu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint(20)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("GpuId") + .HasColumnType("int(11)") + .HasColumnName("gpu"); + + b.Property("ResolutionId") + .HasColumnType("int(11)") + .HasColumnName("resolution"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("GpuId") + .HasDatabaseName("idx_resolutions_by_gpu_gpu"); + + b.HasIndex("ResolutionId") + .HasDatabaseName("idx_resolutions_by_gpu_resolution"); + + b.ToTable("resolutions_by_gpu"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ResolutionsByScreen", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("ResolutionId") + .HasColumnType("int(11)"); + + b.Property("ScreenId") + .HasColumnType("int"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("ResolutionId"); + + b.HasIndex("ScreenId"); + + b.ToTable("ResolutionsByScreen"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Screen", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Diagonal") + .HasColumnType("double"); + + b.Property("EffectiveColors") + .HasColumnType("bigint"); + + b.Property("Height") + .HasColumnType("double"); + + b.Property("NativeResolutionId") + .HasColumnType("int(11)"); + + b.Property("Type") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Width") + .HasColumnType("double"); + + b.HasKey("Id"); + + b.HasIndex("Diagonal"); + + b.HasIndex("EffectiveColors"); + + b.HasIndex("Height"); + + b.HasIndex("NativeResolutionId"); + + b.HasIndex("Type"); + + b.HasIndex("Width"); + + b.ToTable("Screens"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ScreensByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)"); + + b.Property("ScreenId") + .HasColumnType("int"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MachineId"); + + b.HasIndex("ScreenId"); + + b.ToTable("ScreensByMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareFamily", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Introduced") + .HasColumnType("datetime(6)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ParentId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Introduced"); + + b.HasIndex("Name"); + + b.HasIndex("ParentId"); + + b.ToTable("SoftwareFamilies"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CatalogueNumber") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("DistributionMode") + .HasColumnType("int unsigned"); + + b.Property("Introduced") + .HasColumnType("datetime(6)"); + + b.Property("MinimumMemory") + .HasColumnType("bigint unsigned"); + + b.Property("Name") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ParentId") + .HasColumnType("bigint unsigned"); + + b.Property("PartNumber") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ProductCode") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("RecommendedMemory") + .HasColumnType("bigint unsigned"); + + b.Property("RequiredStorage") + .HasColumnType("bigint unsigned"); + + b.Property("SerialNumber") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("SoftwareVersionId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Version") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("CatalogueNumber"); + + b.HasIndex("DistributionMode"); + + b.HasIndex("Introduced"); + + b.HasIndex("MinimumMemory"); + + b.HasIndex("Name"); + + b.HasIndex("ParentId"); + + b.HasIndex("PartNumber"); + + b.HasIndex("ProductCode"); + + b.HasIndex("RecommendedMemory"); + + b.HasIndex("RequiredStorage"); + + b.HasIndex("SerialNumber"); + + b.HasIndex("SoftwareVersionId"); + + b.HasIndex("Version"); + + b.ToTable("SoftwareVariants"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVariantByCompilationMedia", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MediaId") + .HasColumnType("bigint unsigned"); + + b.Property("Path") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("PathSeparator") + .IsRequired() + .HasColumnType("varchar(1) CHARACTER SET utf8mb4"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MediaId"); + + b.HasIndex("Path"); + + b.HasIndex("SoftwareVariantId"); + + b.ToTable("SoftwareVariantByCompilationMedia"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVersion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("Codename") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("FamilyId") + .HasColumnType("bigint unsigned"); + + b.Property("Introduced") + .HasColumnType("datetime(6)"); + + b.Property("LicenseId") + .HasColumnType("int"); + + b.Property("Name") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("PreviousId") + .HasColumnType("bigint unsigned"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Version") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("Codename"); + + b.HasIndex("FamilyId"); + + b.HasIndex("Introduced"); + + b.HasIndex("LicenseId"); + + b.HasIndex("Name"); + + b.HasIndex("PreviousId") + .IsUnique(); + + b.HasIndex("Version"); + + b.ToTable("SoftwareVersion"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint(20)") + .HasColumnName("id"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("MachineId") + .HasColumnType("int(11)") + .HasColumnName("machine"); + + b.Property("SoundSynthId") + .HasColumnType("int(11)") + .HasColumnName("sound_synth"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("MachineId") + .HasDatabaseName("idx_sound_by_machine_machine"); + + b.HasIndex("SoundSynthId") + .HasDatabaseName("idx_sound_by_machine_sound_synth"); + + b.ToTable("sound_by_machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundByOwnedMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("OwnedMachineId") + .HasColumnType("bigint"); + + b.Property("SoundSynthId") + .HasColumnType("int(11)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("OwnedMachineId"); + + b.HasIndex("SoundSynthId"); + + b.ToTable("SoundByOwnedMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundBySoftwareVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("SoundSynthId") + .HasColumnType("int(11)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("SoftwareVariantId"); + + b.HasIndex("SoundSynthId"); + + b.ToTable("SoundBySoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundSynth", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("id"); + + b.Property("CompanyId") + .HasColumnType("int(11)") + .HasColumnName("company"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Depth") + .HasColumnType("int(11)") + .HasColumnName("depth"); + + b.Property("Frequency") + .HasColumnType("double") + .HasColumnName("frequency"); + + b.Property("Introduced") + .HasColumnType("datetime") + .HasColumnName("introduced"); + + b.Property("ModelCode") + .HasMaxLength(45) + .HasColumnType("varchar(45)") + .HasColumnName("model_code"); + + b.Property("Name") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(50) + .HasColumnType("char(50)") + .HasColumnName("name") + .HasDefaultValueSql("''"); + + b.Property("SquareWave") + .HasColumnType("int(11)") + .HasColumnName("square_wave"); + + b.Property("Type") + .HasColumnType("int(11)") + .HasColumnName("type"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("Voices") + .HasColumnType("int(11)") + .HasColumnName("voices"); + + b.Property("WhiteNoise") + .HasColumnType("int(11)") + .HasColumnName("white_noise"); + + b.HasKey("Id"); + + b.HasIndex("CompanyId") + .HasDatabaseName("idx_sound_synths_company"); + + b.HasIndex("Depth") + .HasDatabaseName("idx_sound_synths_depth"); + + b.HasIndex("Frequency") + .HasDatabaseName("idx_sound_synths_frequency"); + + b.HasIndex("Introduced") + .HasDatabaseName("idx_sound_synths_introduced"); + + b.HasIndex("ModelCode") + .HasDatabaseName("idx_sound_synths_model_code"); + + b.HasIndex("Name") + .HasDatabaseName("idx_sound_synths_name"); + + b.HasIndex("SquareWave") + .HasDatabaseName("idx_sound_synths_square_wave"); + + b.HasIndex("Type") + .HasDatabaseName("idx_sound_synths_type"); + + b.HasIndex("Voices") + .HasDatabaseName("idx_sound_synths_voices"); + + b.HasIndex("WhiteNoise") + .HasDatabaseName("idx_sound_synths_white_noise"); + + b.ToTable("sound_synths"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StandaloneFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned"); + + b.Property("AccessDate") + .HasColumnType("datetime(6)"); + + b.Property("Attributes") + .HasColumnType("bigint unsigned"); + + b.Property("BackupDate") + .HasColumnType("datetime(6)"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DeviceNumber") + .HasColumnType("int unsigned"); + + b.Property("GroupId") + .HasColumnType("bigint unsigned"); + + b.Property("Inode") + .HasColumnType("bigint unsigned"); + + b.Property("IsDirectory") + .HasColumnType("bit(1)"); + + b.Property("LastWriteDate") + .HasColumnType("datetime(6)"); + + b.Property("Links") + .HasColumnType("bigint unsigned"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Path") + .IsRequired() + .HasMaxLength(8192) + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("PathSeparator") + .IsRequired() + .HasColumnType("varchar(1) CHARACTER SET utf8mb4"); + + b.Property("PosixMode") + .HasColumnType("smallint unsigned"); + + b.Property("SoftwareVariantId") + .HasColumnType("bigint unsigned"); + + b.Property("StatusChangeDate") + .HasColumnType("datetime(6)"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("bigint unsigned"); + + b.HasKey("Id"); + + b.HasIndex("AccessDate"); + + b.HasIndex("BackupDate"); + + b.HasIndex("CreationDate"); + + b.HasIndex("GroupId"); + + b.HasIndex("IsDirectory"); + + b.HasIndex("LastWriteDate"); + + b.HasIndex("Name"); + + b.HasIndex("Path"); + + b.HasIndex("SoftwareVariantId"); + + b.HasIndex("StatusChangeDate"); + + b.HasIndex("UserId"); + + b.ToTable("StandaloneFiles"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StorageByMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint(20)") + .HasColumnName("id"); + + b.Property("Capacity") + .HasColumnType("bigint(20)") + .HasColumnName("capacity"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Interface") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("interface") + .HasDefaultValueSql("'0'"); + + b.Property("MachineId") + .HasColumnType("int(11)") + .HasColumnName("machine"); + + b.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("int(11)") + .HasColumnName("type") + .HasDefaultValueSql("'0'"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Capacity") + .HasDatabaseName("idx_storage_capacity"); + + b.HasIndex("Interface") + .HasDatabaseName("idx_storage_interface"); + + b.HasIndex("MachineId") + .HasDatabaseName("idx_storage_machine"); + + b.HasIndex("Type") + .HasDatabaseName("idx_storage_type"); + + b.ToTable("storage_by_machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StorageByOwnedMachine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("Capacity") + .HasColumnType("bigint"); + + b.Property("CreatedOn") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)"); + + b.Property("Interface") + .HasColumnType("int"); + + b.Property("OwnedMachineId") + .HasColumnType("bigint"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedOn") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("Capacity"); + + b.HasIndex("Interface"); + + b.HasIndex("OwnedMachineId"); + + b.HasIndex("Type"); + + b.ToTable("StorageByOwnedMachine"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("ClaimValue") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("ClaimValue") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ProviderKey") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("ProviderDisplayName") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("RoleId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("LoginProvider") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Name") + .HasColumnType("varchar(255) CHARACTER SET utf8mb4"); + + b.Property("Value") + .HasColumnType("longtext CHARACTER SET utf8mb4"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Audit", b => + { + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Book", b => + { + b.HasOne("Marechai.Database.Models.Iso31661Numeric", "Country") + .WithMany("Books") + .HasForeignKey("CountryId"); + + b.HasOne("Marechai.Database.Models.Book", "Previous") + .WithOne("Next") + .HasForeignKey("Marechai.Database.Models.Book", "PreviousId"); + + b.HasOne("Marechai.Database.Models.Book", "Source") + .WithMany("Derivates") + .HasForeignKey("SourceId"); + + b.Navigation("Country"); + + b.Navigation("Previous"); + + b.Navigation("Source"); + }); + + modelBuilder.Entity("Marechai.Database.Models.BookScan", b => + { + b.HasOne("Marechai.Database.Models.Book", "Book") + .WithMany("Scans") + .HasForeignKey("BookId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany("BookScans") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Book"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.BooksByMachine", b => + { + b.HasOne("Marechai.Database.Models.Book", "Book") + .WithMany("Machines") + .HasForeignKey("BookId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Books") + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Book"); + + b.Navigation("Machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.BooksByMachineFamily", b => + { + b.HasOne("Marechai.Database.Models.Book", "Book") + .WithMany("MachineFamilies") + .HasForeignKey("BookId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MachineFamily", "MachineFamily") + .WithMany("Books") + .HasForeignKey("MachineFamilyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Book"); + + b.Navigation("MachineFamily"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesByBook", b => + { + b.HasOne("Marechai.Database.Models.Book", "Book") + .WithMany("Companies") + .HasForeignKey("BookId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentCompany", "Company") + .WithMany("Books") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Book"); + + b.Navigation("Company"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesByDocument", b => + { + b.HasOne("Marechai.Database.Models.DocumentCompany", "Company") + .WithMany("Documents") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Document", "Document") + .WithMany("Companies") + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Document"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesByMagazine", b => + { + b.HasOne("Marechai.Database.Models.DocumentCompany", "Company") + .WithMany("Magazines") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Magazine", "Magazine") + .WithMany("Companies") + .HasForeignKey("MagazineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Magazine"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareFamily", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("SoftwareFamilies") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareFamily", "SoftwareFamily") + .WithMany("Companies") + .HasForeignKey("SoftwareFamilyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Role"); + + b.Navigation("SoftwareFamily"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("SoftwareVariants") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Companies") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareVersion", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("SoftwareVersions") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion") + .WithMany("Companies") + .HasForeignKey("SoftwareVersionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVersion"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Company", b => + { + b.HasOne("Marechai.Database.Models.Iso31661Numeric", "Country") + .WithMany("Companies") + .HasForeignKey("CountryId") + .HasConstraintName("fk_companies_country"); + + b.HasOne("Marechai.Database.Models.Company", "SoldTo") + .WithMany("InverseSoldToNavigation") + .HasForeignKey("SoldToId") + .HasConstraintName("fk_companies_sold_to"); + + b.Navigation("Country"); + + b.Navigation("SoldTo"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompanyDescription", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("Descriptions") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CompanyLogo", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("Logos") + .HasForeignKey("CompanyId") + .HasConstraintName("fk_company_logos_company1") + .IsRequired(); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CurrencyInflation", b => + { + b.HasOne("Marechai.Database.Models.Iso4217", "Currency") + .WithMany() + .HasForeignKey("CurrencyCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Currency"); + }); + + modelBuilder.Entity("Marechai.Database.Models.CurrencyPegging", b => + { + b.HasOne("Marechai.Database.Models.Iso4217", "Destination") + .WithMany() + .HasForeignKey("DestinationCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Iso4217", "Source") + .WithMany() + .HasForeignKey("SourceCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Destination"); + + b.Navigation("Source"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Document", b => + { + b.HasOne("Marechai.Database.Models.Iso31661Numeric", "Country") + .WithMany("Documents") + .HasForeignKey("CountryId"); + + b.Navigation("Country"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentCompany", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithOne("DocumentCompany") + .HasForeignKey("Marechai.Database.Models.DocumentCompany", "CompanyId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentPerson", b => + { + b.HasOne("Marechai.Database.Models.Person", "Person") + .WithOne("DocumentPerson") + .HasForeignKey("Marechai.Database.Models.DocumentPerson", "PersonId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Person"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentScan", b => + { + b.HasOne("Marechai.Database.Models.Document", "Document") + .WithMany("Scans") + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany("DocumentScans") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Document"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentsByMachine", b => + { + b.HasOne("Marechai.Database.Models.Document", "Document") + .WithMany("Machines") + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Documents") + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentsByMachineFamily", b => + { + b.HasOne("Marechai.Database.Models.Document", "Document") + .WithMany("MachineFamilies") + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MachineFamily", "MachineFamily") + .WithMany("Documents") + .HasForeignKey("MachineFamilyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("MachineFamily"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Dump", b => + { + b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump") + .WithMany("Dumps") + .HasForeignKey("MediaDumpId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Media", "Media") + .WithMany("Dumps") + .HasForeignKey("MediaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany("Dumps") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Media"); + + b.Navigation("MediaDump"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DumpHardware", b => + { + b.HasOne("Marechai.Database.Models.Dump", "Dump") + .WithMany("DumpHardware") + .HasForeignKey("DumpId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Dump"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FileDataStream", b => + { + b.HasOne("Marechai.Database.Models.DbFile", "File") + .WithMany() + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FileDataStreamsByMediaFile", b => + { + b.HasOne("Marechai.Database.Models.FileDataStream", "FileDataStream") + .WithMany() + .HasForeignKey("FileDataStreamId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MediaFile", "MediaFile") + .WithMany("DataStreams") + .HasForeignKey("MediaFileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FileDataStream"); + + b.Navigation("MediaFile"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FileDataStreamsByStandaloneFile", b => + { + b.HasOne("Marechai.Database.Models.FileDataStream", "FileDataStream") + .WithMany() + .HasForeignKey("FileDataStreamId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.StandaloneFile", "StandaloneFile") + .WithMany("DataStreams") + .HasForeignKey("StandaloneFileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FileDataStream"); + + b.Navigation("StandaloneFile"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FilesByFilesystem", b => + { + b.HasOne("Marechai.Database.Models.MediaFile", "File") + .WithMany() + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Filesystem", "Filesystem") + .WithMany("Files") + .HasForeignKey("FilesystemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + + b.Navigation("Filesystem"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FilesystemsByLogicalPartition", b => + { + b.HasOne("Marechai.Database.Models.Filesystem", "Filesystem") + .WithMany("Partitions") + .HasForeignKey("FilesystemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.LogicalPartition", "Partition") + .WithMany("Filesystems") + .HasForeignKey("PartitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Filesystem"); + + b.Navigation("Partition"); + }); + + modelBuilder.Entity("Marechai.Database.Models.FilesystemsByMediaDumpFile", b => + { + b.HasOne("Marechai.Database.Models.Filesystem", "Filesystem") + .WithMany("MediaDumpFileImages") + .HasForeignKey("FilesystemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MediaDumpFileImage", "MediaDumpFileImage") + .WithMany("Filesystems") + .HasForeignKey("MediaDumpFileImageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Filesystem"); + + b.Navigation("MediaDumpFileImage"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Gpu", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("Gpus") + .HasForeignKey("CompanyId") + .HasConstraintName("fk_gpus_company"); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Marechai.Database.Models.GpusByMachine", b => + { + b.HasOne("Marechai.Database.Models.Gpu", "Gpu") + .WithMany("GpusByMachine") + .HasForeignKey("GpuId") + .HasConstraintName("fk_gpus_by_machine_gpu") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Gpus") + .HasForeignKey("MachineId") + .HasConstraintName("fk_gpus_by_machine_machine") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("Machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.GpusByOwnedMachine", b => + { + b.HasOne("Marechai.Database.Models.Gpu", "Gpu") + .WithMany() + .HasForeignKey("GpuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine") + .WithMany("Gpus") + .HasForeignKey("OwnedMachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("OwnedMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.GpusBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.Gpu", "Gpu") + .WithMany("Software") + .HasForeignKey("GpuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Gpus") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtensionsByProcessor", b => + { + b.HasOne("Marechai.Database.Models.InstructionSetExtension", "Extension") + .WithMany("InstructionSetExtensionsByProcessor") + .HasForeignKey("ExtensionId") + .HasConstraintName("fk_extension_extension_id") + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Processor", "Processor") + .WithMany("InstructionSetExtensions") + .HasForeignKey("ProcessorId") + .HasConstraintName("fk_extension_processor_id") + .IsRequired(); + + b.Navigation("Extension"); + + b.Navigation("Processor"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSetsBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.InstructionSet", "InstructionSet") + .WithMany("Software") + .HasForeignKey("InstructionSetId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Architectures") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InstructionSet"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.LanguagesBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.Iso639", "Language") + .WithMany("Software") + .HasForeignKey("LanguageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Languages") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Language"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.LogicalPartitionsByMedia", b => + { + b.HasOne("Marechai.Database.Models.Media", "Media") + .WithMany("LogicalPartitions") + .HasForeignKey("MediaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.LogicalPartition", "Partition") + .WithMany("Media") + .HasForeignKey("PartitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Media"); + + b.Navigation("Partition"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Machine", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("Machines") + .HasForeignKey("CompanyId") + .HasConstraintName("fk_machines_company") + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MachineFamily", "Family") + .WithMany("Machines") + .HasForeignKey("FamilyId") + .HasConstraintName("fk_machines_family"); + + b.Navigation("Company"); + + b.Navigation("Family"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachineFamiliesBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.MachineFamily", "MachineFamily") + .WithMany("Software") + .HasForeignKey("MachineFamilyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("MachineFamilies") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MachineFamily"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachineFamily", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("MachineFamilies") + .HasForeignKey("CompanyId") + .HasConstraintName("fk_machine_families_company") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachinePhoto", b => + { + b.HasOne("Marechai.Database.Models.License", "License") + .WithMany("Photos") + .HasForeignKey("LicenseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Photos") + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany("Photos") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("License"); + + b.Navigation("Machine"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachinesBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Software") + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Machines") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Magazine", b => + { + b.HasOne("Marechai.Database.Models.Iso31661Numeric", "Country") + .WithMany("Magazines") + .HasForeignKey("CountryId"); + + b.Navigation("Country"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazineIssue", b => + { + b.HasOne("Marechai.Database.Models.Magazine", "Magazine") + .WithMany("Issues") + .HasForeignKey("MagazineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Magazine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazineScan", b => + { + b.HasOne("Marechai.Database.Models.MagazineIssue", "Magazine") + .WithMany("Scans") + .HasForeignKey("MagazineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany("MagazineScans") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Magazine"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazinesByMachine", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Magazines") + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MagazineIssue", "Magazine") + .WithMany("Machines") + .HasForeignKey("MagazineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("Magazine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazinesByMachineFamily", b => + { + b.HasOne("Marechai.Database.Models.MachineFamily", "MachineFamily") + .WithMany("Magazines") + .HasForeignKey("MachineFamilyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MagazineIssue", "Magazine") + .WithMany("MachineFamilies") + .HasForeignKey("MagazineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MachineFamily"); + + b.Navigation("Magazine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MasteringText", b => + { + b.HasOne("Marechai.Database.Models.Media", "Media") + .WithMany("MasteringTexts") + .HasForeignKey("MediaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Media"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Media", b => + { + b.HasOne("Marechai.Database.Models.MagazineIssue", "MagazineIssue") + .WithMany("Coverdiscs") + .HasForeignKey("MagazineIssueId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("MagazineIssue"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.Media", "Media") + .WithMany("Software") + .HasForeignKey("MediaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Media") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Media"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDump", b => + { + b.HasOne("Marechai.Database.Models.Media", "Media") + .WithMany("MediaDumps") + .HasForeignKey("MediaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Media"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpFileImage", b => + { + b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump") + .WithMany("Files") + .HasForeignKey("MediaDumpId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MediaDump"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpImage", b => + { + b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump") + .WithOne("Image") + .HasForeignKey("Marechai.Database.Models.MediaDumpImage", "MediaDumpId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MediaDump"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpSubchannelImage", b => + { + b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump") + .WithOne("Subchannel") + .HasForeignKey("Marechai.Database.Models.MediaDumpSubchannelImage", "MediaDumpId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Marechai.Database.Models.MediaDumpTrackImage", "Track") + .WithOne("Subchannel") + .HasForeignKey("Marechai.Database.Models.MediaDumpSubchannelImage", "TrackId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("MediaDump"); + + b.Navigation("Track"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpTrackImage", b => + { + b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump") + .WithMany("Tracks") + .HasForeignKey("MediaDumpId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("MediaDump"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaTagDump", b => + { + b.HasOne("Marechai.Database.Models.DbFile", "File") + .WithMany() + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump") + .WithMany("Tags") + .HasForeignKey("MediaDumpId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + + b.Navigation("MediaDump"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MemoryByMachine", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Memory") + .HasForeignKey("MachineId") + .HasConstraintName("fk_memory_by_machine_machine") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MemoryByOwnedMachine", b => + { + b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine") + .WithMany("Memory") + .HasForeignKey("OwnedMachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OwnedMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.OwnedMachine", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany() + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany("OwnedMachines") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("Machine"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.OwnedMachinePhoto", b => + { + b.HasOne("Marechai.Database.Models.License", "License") + .WithMany("OwnedMachinePhotos") + .HasForeignKey("LicenseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine") + .WithMany("Photos") + .HasForeignKey("OwnedMachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", "User") + .WithMany("OwnedMachinePhotos") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("License"); + + b.Navigation("OwnedMachine"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByBook", b => + { + b.HasOne("Marechai.Database.Models.Book", "Book") + .WithMany("People") + .HasForeignKey("BookId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentPerson", "Person") + .WithMany("Books") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Book"); + + b.Navigation("Person"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByCompany", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("People") + .HasForeignKey("CompanyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Person", "Person") + .WithMany("Companies") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Person"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByDocument", b => + { + b.HasOne("Marechai.Database.Models.Document", "Document") + .WithMany("People") + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentPerson", "Person") + .WithMany("Documents") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Person"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleByMagazine", b => + { + b.HasOne("Marechai.Database.Models.MagazineIssue", "Magazine") + .WithMany("People") + .HasForeignKey("MagazineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentPerson", "Person") + .WithMany("Magazines") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Magazine"); + + b.Navigation("Person"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareFamily", b => + { + b.HasOne("Marechai.Database.Models.Person", "Person") + .WithMany("SoftwareFamilies") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareFamily", "SoftwareFamily") + .WithMany("People") + .HasForeignKey("SoftwareFamilyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Person"); + + b.Navigation("Role"); + + b.Navigation("SoftwareFamily"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.Person", "Person") + .WithMany("SoftwareVariants") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("People") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Person"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareVersion", b => + { + b.HasOne("Marechai.Database.Models.Person", "Person") + .WithMany("SoftwareVersions") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.DocumentRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion") + .WithMany("People") + .HasForeignKey("SoftwareVersionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Person"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVersion"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Person", b => + { + b.HasOne("Marechai.Database.Models.Iso31661Numeric", "CountryOfBirth") + .WithMany("People") + .HasForeignKey("CountryOfBirthId"); + + b.Navigation("CountryOfBirth"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Processor", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("Processors") + .HasForeignKey("CompanyId") + .HasConstraintName("fk_processors_company"); + + b.HasOne("Marechai.Database.Models.InstructionSet", "InstructionSet") + .WithMany("Processors") + .HasForeignKey("InstructionSetId") + .HasConstraintName("fk_processors_instruction_set"); + + b.Navigation("Company"); + + b.Navigation("InstructionSet"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ProcessorsByMachine", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Processors") + .HasForeignKey("MachineId") + .HasConstraintName("fk_processors_by_machine_machine") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Processor", "Processor") + .WithMany("ProcessorsByMachine") + .HasForeignKey("ProcessorId") + .HasConstraintName("fk_processors_by_machine_processor") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("Processor"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ProcessorsByOwnedMachine", b => + { + b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine") + .WithMany("Processors") + .HasForeignKey("OwnedMachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Processor", "Processor") + .WithMany() + .HasForeignKey("ProcessorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OwnedMachine"); + + b.Navigation("Processor"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ProcessorsBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.Processor", "Processor") + .WithMany("Software") + .HasForeignKey("ProcessorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Processors") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Processor"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.RequiredOperatingSystemsBySofwareVariant", b => + { + b.HasOne("Marechai.Database.Models.SoftwareVersion", "OperatingSystem") + .WithMany() + .HasForeignKey("OperatingSystemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("RequiredOperatingSystems") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OperatingSystem"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.RequiredSoftwareBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("RequiredSoftware") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion") + .WithMany() + .HasForeignKey("SoftwareVersionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("SoftwareVariant"); + + b.Navigation("SoftwareVersion"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ResolutionsByGpu", b => + { + b.HasOne("Marechai.Database.Models.Gpu", "Gpu") + .WithMany("ResolutionsByGpu") + .HasForeignKey("GpuId") + .HasConstraintName("fk_resolutions_by_gpu_gpu") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Resolution", "Resolution") + .WithMany("ResolutionsByGpu") + .HasForeignKey("ResolutionId") + .HasConstraintName("fk_resolutions_by_gpu_resolution") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("Resolution"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ResolutionsByScreen", b => + { + b.HasOne("Marechai.Database.Models.Resolution", "Resolution") + .WithMany("ResolutionsByScreen") + .HasForeignKey("ResolutionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Screen", "Screen") + .WithMany("Resolutions") + .HasForeignKey("ScreenId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Resolution"); + + b.Navigation("Screen"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Screen", b => + { + b.HasOne("Marechai.Database.Models.Resolution", "NativeResolution") + .WithMany("Screens") + .HasForeignKey("NativeResolutionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("NativeResolution"); + }); + + modelBuilder.Entity("Marechai.Database.Models.ScreensByMachine", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Screens") + .HasForeignKey("MachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.Screen", "Screen") + .WithMany("ScreensByMachines") + .HasForeignKey("ScreenId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("Screen"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareFamily", b => + { + b.HasOne("Marechai.Database.Models.SoftwareFamily", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.SoftwareVariant", "Parent") + .WithMany("Derivates") + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion") + .WithMany("Variants") + .HasForeignKey("SoftwareVersionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Parent"); + + b.Navigation("SoftwareVersion"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVariantByCompilationMedia", b => + { + b.HasOne("Marechai.Database.Models.Media", "Media") + .WithMany() + .HasForeignKey("MediaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany() + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Media"); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVersion", b => + { + b.HasOne("Marechai.Database.Models.SoftwareFamily", "Family") + .WithMany("Versions") + .HasForeignKey("FamilyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.License", "License") + .WithMany() + .HasForeignKey("LicenseId"); + + b.HasOne("Marechai.Database.Models.SoftwareVersion", "Previous") + .WithOne("Next") + .HasForeignKey("Marechai.Database.Models.SoftwareVersion", "PreviousId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Family"); + + b.Navigation("License"); + + b.Navigation("Previous"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundByMachine", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Sound") + .HasForeignKey("MachineId") + .HasConstraintName("fk_sound_by_machine_machine") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoundSynth", "SoundSynth") + .WithMany("SoundByMachine") + .HasForeignKey("SoundSynthId") + .HasConstraintName("fk_sound_by_machine_sound_synth") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("SoundSynth"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundByOwnedMachine", b => + { + b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine") + .WithMany("Sound") + .HasForeignKey("OwnedMachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoundSynth", "SoundSynth") + .WithMany() + .HasForeignKey("SoundSynthId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OwnedMachine"); + + b.Navigation("SoundSynth"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundBySoftwareVariant", b => + { + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("SupportedSound") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.SoundSynth", "SoundSynth") + .WithMany("Software") + .HasForeignKey("SoundSynthId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("SoftwareVariant"); + + b.Navigation("SoundSynth"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundSynth", b => + { + b.HasOne("Marechai.Database.Models.Company", "Company") + .WithMany("SoundSynths") + .HasForeignKey("CompanyId") + .HasConstraintName("fk_sound_synths_company"); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StandaloneFile", b => + { + b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant") + .WithMany("Files") + .HasForeignKey("SoftwareVariantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("SoftwareVariant"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StorageByMachine", b => + { + b.HasOne("Marechai.Database.Models.Machine", "Machine") + .WithMany("Storage") + .HasForeignKey("MachineId") + .HasConstraintName("fk_storage_by_machine_machine") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Machine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StorageByOwnedMachine", b => + { + b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine") + .WithMany("Storage") + .HasForeignKey("OwnedMachineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OwnedMachine"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Marechai.Database.Models.ApplicationRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Marechai.Database.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Marechai.Database.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Marechai.Database.Models.ApplicationRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Marechai.Database.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Marechai.Database.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Marechai.Database.Models.ApplicationUser", b => + { + b.Navigation("BookScans"); + + b.Navigation("DocumentScans"); + + b.Navigation("Dumps"); + + b.Navigation("MagazineScans"); + + b.Navigation("OwnedMachinePhotos"); + + b.Navigation("OwnedMachines"); + + b.Navigation("Photos"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Book", b => + { + b.Navigation("Companies"); + + b.Navigation("Derivates"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("Next"); + + b.Navigation("People"); + + b.Navigation("Scans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Company", b => + { + b.Navigation("Descriptions"); + + b.Navigation("DocumentCompany"); + + b.Navigation("Gpus"); + + b.Navigation("InverseSoldToNavigation"); + + b.Navigation("Logos"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("People"); + + b.Navigation("Processors"); + + b.Navigation("SoftwareFamilies"); + + b.Navigation("SoftwareVariants"); + + b.Navigation("SoftwareVersions"); + + b.Navigation("SoundSynths"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Document", b => + { + b.Navigation("Companies"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("People"); + + b.Navigation("Scans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentCompany", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Magazines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentPerson", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Magazines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Dump", b => + { + b.Navigation("DumpHardware"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Filesystem", b => + { + b.Navigation("Files"); + + b.Navigation("MediaDumpFileImages"); + + b.Navigation("Partitions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Gpu", b => + { + b.Navigation("GpusByMachine"); + + b.Navigation("ResolutionsByGpu"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSet", b => + { + b.Navigation("Processors"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtension", b => + { + b.Navigation("InstructionSetExtensionsByProcessor"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Iso31661Numeric", b => + { + b.Navigation("Books"); + + b.Navigation("Companies"); + + b.Navigation("Documents"); + + b.Navigation("Magazines"); + + b.Navigation("People"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Iso639", b => + { + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.License", b => + { + b.Navigation("OwnedMachinePhotos"); + + b.Navigation("Photos"); + }); + + modelBuilder.Entity("Marechai.Database.Models.LogicalPartition", b => + { + b.Navigation("Filesystems"); + + b.Navigation("Media"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Machine", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Gpus"); + + b.Navigation("Magazines"); + + b.Navigation("Memory"); + + b.Navigation("Photos"); + + b.Navigation("Processors"); + + b.Navigation("Screens"); + + b.Navigation("Software"); + + b.Navigation("Sound"); + + b.Navigation("Storage"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachineFamily", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Machines"); + + b.Navigation("Magazines"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Magazine", b => + { + b.Navigation("Companies"); + + b.Navigation("Issues"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazineIssue", b => + { + b.Navigation("Coverdiscs"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("People"); + + b.Navigation("Scans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Media", b => + { + b.Navigation("Dumps"); + + b.Navigation("LogicalPartitions"); + + b.Navigation("MasteringTexts"); + + b.Navigation("MediaDumps"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDump", b => + { + b.Navigation("Dumps"); + + b.Navigation("Files"); + + b.Navigation("Image"); + + b.Navigation("Subchannel"); + + b.Navigation("Tags"); + + b.Navigation("Tracks"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpFileImage", b => + { + b.Navigation("Filesystems"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpTrackImage", b => + { + b.Navigation("Subchannel"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaFile", b => + { + b.Navigation("DataStreams"); + }); + + modelBuilder.Entity("Marechai.Database.Models.OwnedMachine", b => + { + b.Navigation("Gpus"); + + b.Navigation("Memory"); + + b.Navigation("Photos"); + + b.Navigation("Processors"); + + b.Navigation("Sound"); + + b.Navigation("Storage"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Person", b => + { + b.Navigation("Companies"); + + b.Navigation("DocumentPerson"); + + b.Navigation("SoftwareFamilies"); + + b.Navigation("SoftwareVariants"); + + b.Navigation("SoftwareVersions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Processor", b => + { + b.Navigation("InstructionSetExtensions"); + + b.Navigation("ProcessorsByMachine"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Resolution", b => + { + b.Navigation("ResolutionsByGpu"); + + b.Navigation("ResolutionsByScreen"); + + b.Navigation("Screens"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Screen", b => + { + b.Navigation("Resolutions"); + + b.Navigation("ScreensByMachines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareFamily", b => + { + b.Navigation("Children"); + + b.Navigation("Companies"); + + b.Navigation("People"); + + b.Navigation("Versions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVariant", b => + { + b.Navigation("Architectures"); + + b.Navigation("Companies"); + + b.Navigation("Derivates"); + + b.Navigation("Files"); + + b.Navigation("Gpus"); + + b.Navigation("Languages"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("Media"); + + b.Navigation("People"); + + b.Navigation("Processors"); + + b.Navigation("RequiredOperatingSystems"); + + b.Navigation("RequiredSoftware"); + + b.Navigation("SupportedSound"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVersion", b => + { + b.Navigation("Companies"); + + b.Navigation("Next"); + + b.Navigation("People"); + + b.Navigation("Variants"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundSynth", b => + { + b.Navigation("Software"); + + b.Navigation("SoundByMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StandaloneFile", b => + { + b.Navigation("DataStreams"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Marechai.Database/Migrations/20201220155949_FixCurrenciesNullability.cs b/Marechai.Database/Migrations/20201220155949_FixCurrenciesNullability.cs new file mode 100644 index 00000000..b3195412 --- /dev/null +++ b/Marechai.Database/Migrations/20201220155949_FixCurrenciesNullability.cs @@ -0,0 +1,41 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace Marechai.Database.Migrations +{ + public partial class FixCurrenciesNullability : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn("SourceCode", "CurrenciesPegging", "varchar(3) CHARACTER SET utf8mb4", + nullable: false, defaultValue: "", oldClrType: typeof(string), + oldType: "varchar(3) CHARACTER SET utf8mb4", oldNullable: true); + + migrationBuilder.AlterColumn("DestinationCode", "CurrenciesPegging", + "varchar(3) CHARACTER SET utf8mb4", nullable: false, defaultValue: "", + oldClrType: typeof(string), + oldType: "varchar(3) CHARACTER SET utf8mb4", oldNullable: true); + + migrationBuilder.AlterColumn("CurrencyCode", "CurrenciesInflation", + "varchar(3) CHARACTER SET utf8mb4", nullable: false, defaultValue: "", + oldClrType: typeof(string), + oldType: "varchar(3) CHARACTER SET utf8mb4", oldNullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn("SourceCode", "CurrenciesPegging", "varchar(3) CHARACTER SET utf8mb4", + nullable: true, oldClrType: typeof(string), + oldType: "varchar(3) CHARACTER SET utf8mb4"); + + migrationBuilder.AlterColumn("DestinationCode", "CurrenciesPegging", + "varchar(3) CHARACTER SET utf8mb4", nullable: true, + oldClrType: typeof(string), + oldType: "varchar(3) CHARACTER SET utf8mb4"); + + migrationBuilder.AlterColumn("CurrencyCode", "CurrenciesInflation", + "varchar(3) CHARACTER SET utf8mb4", nullable: true, + oldClrType: typeof(string), + oldType: "varchar(3) CHARACTER SET utf8mb4"); + } + } +} \ No newline at end of file diff --git a/Marechai.Database/Migrations/MarechaiContextModelSnapshot.cs b/Marechai.Database/Migrations/MarechaiContextModelSnapshot.cs index 728fcee2..1d80b55f 100644 --- a/Marechai.Database/Migrations/MarechaiContextModelSnapshot.cs +++ b/Marechai.Database/Migrations/MarechaiContextModelSnapshot.cs @@ -13,7 +13,7 @@ namespace Marechai.Database.Migrations protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "3.1.6").HasAnnotation("Relational:MaxIdentifierLength", 64); + modelBuilder.HasAnnotation("Relational:MaxIdentifierLength", 64).HasAnnotation("ProductVersion", "5.0.1"); modelBuilder.Entity("Marechai.Database.Models.ApplicationRole", b => { @@ -26,14 +26,14 @@ namespace Marechai.Database.Migrations b.Property("Description").HasColumnType("longtext CHARACTER SET utf8mb4"); - b.Property("Name").HasColumnType("varchar(256) CHARACTER SET utf8mb4").HasMaxLength(256); + b.Property("Name").HasMaxLength(256).HasColumnType("varchar(256) CHARACTER SET utf8mb4"); - b.Property("NormalizedName").HasColumnType("varchar(256) CHARACTER SET utf8mb4"). - HasMaxLength(256); + b.Property("NormalizedName").HasMaxLength(256). + HasColumnType("varchar(256) CHARACTER SET utf8mb4"); b.HasKey("Id"); - b.HasIndex("NormalizedName").IsUnique().HasName("RoleNameIndex"); + b.HasIndex("NormalizedName").IsUnique().HasDatabaseName("RoleNameIndex"); b.ToTable("AspNetRoles"); }); @@ -47,7 +47,7 @@ namespace Marechai.Database.Migrations b.Property("ConcurrencyStamp").IsConcurrencyToken(). HasColumnType("longtext CHARACTER SET utf8mb4"); - b.Property("Email").HasColumnType("varchar(256) CHARACTER SET utf8mb4").HasMaxLength(256); + b.Property("Email").HasMaxLength(256).HasColumnType("varchar(256) CHARACTER SET utf8mb4"); b.Property("EmailConfirmed").HasColumnType("bit(1)"); @@ -55,11 +55,11 @@ namespace Marechai.Database.Migrations b.Property("LockoutEnd").HasColumnType("datetime(6)"); - b.Property("NormalizedEmail").HasColumnType("varchar(256) CHARACTER SET utf8mb4"). - HasMaxLength(256); + b.Property("NormalizedEmail").HasMaxLength(256). + HasColumnType("varchar(256) CHARACTER SET utf8mb4"); - b.Property("NormalizedUserName").HasColumnType("varchar(256) CHARACTER SET utf8mb4"). - HasMaxLength(256); + b.Property("NormalizedUserName").HasMaxLength(256). + HasColumnType("varchar(256) CHARACTER SET utf8mb4"); b.Property("PasswordHash").HasColumnType("longtext CHARACTER SET utf8mb4"); @@ -71,13 +71,13 @@ namespace Marechai.Database.Migrations b.Property("TwoFactorEnabled").HasColumnType("bit(1)"); - b.Property("UserName").HasColumnType("varchar(256) CHARACTER SET utf8mb4").HasMaxLength(256); + b.Property("UserName").HasMaxLength(256).HasColumnType("varchar(256) CHARACTER SET utf8mb4"); b.HasKey("Id"); - b.HasIndex("NormalizedEmail").HasName("EmailIndex"); + b.HasIndex("NormalizedEmail").HasDatabaseName("EmailIndex"); - b.HasIndex("NormalizedUserName").IsUnique().HasName("UserNameIndex"); + b.HasIndex("NormalizedUserName").IsUnique().HasDatabaseName("UserNameIndex"); b.ToTable("AspNetUsers"); }); @@ -125,7 +125,7 @@ namespace Marechai.Database.Migrations b.Property("Edition").HasColumnType("int"); - b.Property("Isbn").HasColumnType("varchar(13) CHARACTER SET utf8mb4").HasMaxLength(13); + b.Property("Isbn").HasMaxLength(13).HasColumnType("varchar(13) CHARACTER SET utf8mb4"); b.Property("NativeTitle").HasColumnType("varchar(255) CHARACTER SET utf8mb4"); @@ -137,7 +137,7 @@ namespace Marechai.Database.Migrations b.Property("SourceId").HasColumnType("bigint"); - b.Property("Synopsis").HasColumnType("longtext CHARACTER SET utf8mb4").HasMaxLength(262144); + b.Property("Synopsis").HasMaxLength(262144).HasColumnType("longtext CHARACTER SET utf8mb4"); b.Property("Title").IsRequired().HasColumnType("varchar(255) CHARACTER SET utf8mb4"); @@ -292,71 +292,71 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.BrowserTest", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("Agif").ValueGeneratedOnAdd().HasColumnName("agif").HasColumnType("tinyint(1)"). + b.Property("Agif").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("agif"). HasDefaultValueSql("'0'"); - b.Property("Browser").IsRequired().ValueGeneratedOnAdd().HasColumnName("browser"). - HasColumnType("varchar(64)").HasDefaultValueSql("''").HasMaxLength(64); + b.Property("Browser").IsRequired().ValueGeneratedOnAdd().HasMaxLength(64). + HasColumnType("varchar(64)").HasColumnName("browser").HasDefaultValueSql("''"); - b.Property("Colors").ValueGeneratedOnAdd().HasColumnName("colors").HasColumnType("tinyint(1)"). + b.Property("Colors").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("colors"). HasDefaultValueSql("'0'"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Flash").ValueGeneratedOnAdd().HasColumnName("flash").HasColumnType("tinyint(1)"). + b.Property("Flash").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("flash"). HasDefaultValueSql("'0'"); - b.Property("Frames").ValueGeneratedOnAdd().HasColumnName("frames").HasColumnType("tinyint(1)"). + b.Property("Frames").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("frames"). HasDefaultValueSql("'0'"); - b.Property("Gif87").ValueGeneratedOnAdd().HasColumnName("gif87").HasColumnType("tinyint(1)"). + b.Property("Gif87").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("gif87"). HasDefaultValueSql("'0'"); - b.Property("Gif89").ValueGeneratedOnAdd().HasColumnName("gif89").HasColumnType("tinyint(1)"). + b.Property("Gif89").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("gif89"). HasDefaultValueSql("'0'"); - b.Property("Jpeg").ValueGeneratedOnAdd().HasColumnName("jpeg").HasColumnType("tinyint(1)"). + b.Property("Jpeg").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("jpeg"). HasDefaultValueSql("'0'"); - b.Property("Js").ValueGeneratedOnAdd().HasColumnName("js").HasColumnType("tinyint(1)"). + b.Property("Js").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("js"). HasDefaultValueSql("'0'"); - b.Property("Os").IsRequired().ValueGeneratedOnAdd().HasColumnName("os"). - HasColumnType("varchar(32)").HasDefaultValueSql("''").HasMaxLength(32); + b.Property("Os").IsRequired().ValueGeneratedOnAdd().HasMaxLength(32). + HasColumnType("varchar(32)").HasColumnName("os").HasDefaultValueSql("''"); - b.Property("Platform").IsRequired().ValueGeneratedOnAdd().HasColumnName("platform"). - HasColumnType("varchar(8)").HasDefaultValueSql("''").HasMaxLength(8); + b.Property("Platform").IsRequired().ValueGeneratedOnAdd().HasMaxLength(8). + HasColumnType("varchar(8)").HasColumnName("platform").HasDefaultValueSql("''"); - b.Property("Png").ValueGeneratedOnAdd().HasColumnName("png").HasColumnType("tinyint(1)"). + b.Property("Png").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("png"). HasDefaultValueSql("'0'"); - b.Property("Pngt").ValueGeneratedOnAdd().HasColumnName("pngt").HasColumnType("tinyint(1)"). + b.Property("Pngt").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("pngt"). HasDefaultValueSql("'0'"); - b.Property("Table").ValueGeneratedOnAdd().HasColumnName("table").HasColumnType("tinyint(1)"). + b.Property("Table").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("table"). HasDefaultValueSql("'0'"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); - b.Property("UserAgent").IsRequired().ValueGeneratedOnAdd().HasColumnName("user_agent"). - HasColumnType("varchar(128)").HasDefaultValueSql("''").HasMaxLength(128); + b.Property("UserAgent").IsRequired().ValueGeneratedOnAdd().HasMaxLength(128). + HasColumnType("varchar(128)").HasColumnName("user_agent").HasDefaultValueSql("''"); - b.Property("Version").IsRequired().ValueGeneratedOnAdd().HasColumnName("version"). - HasColumnType("varchar(16)").HasDefaultValueSql("''").HasMaxLength(16); + b.Property("Version").IsRequired().ValueGeneratedOnAdd().HasMaxLength(16). + HasColumnType("varchar(16)").HasColumnName("version").HasDefaultValueSql("''"); b.HasKey("Id"); - b.HasIndex("Browser").HasName("idx_browser_tests_browser"); + b.HasIndex("Browser").HasDatabaseName("idx_browser_tests_browser"); - b.HasIndex("Os").HasName("idx_browser_tests_os"); + b.HasIndex("Os").HasDatabaseName("idx_browser_tests_os"); - b.HasIndex("Platform").HasName("idx_browser_tests_platform"); + b.HasIndex("Platform").HasDatabaseName("idx_browser_tests_platform"); - b.HasIndex("UserAgent").HasName("idx_browser_tests_user_agent"); + b.HasIndex("UserAgent").HasDatabaseName("idx_browser_tests_user_agent"); - b.HasIndex("Version").HasName("idx_browser_tests_version"); + b.HasIndex("Version").HasDatabaseName("idx_browser_tests_version"); b.ToTable("browser_tests"); }); @@ -513,21 +513,21 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.Company", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("Address").HasColumnName("address").HasColumnType("varchar(80)").HasMaxLength(80); + b.Property("Address").HasMaxLength(80).HasColumnType("varchar(80)").HasColumnName("address"); - b.Property("City").HasColumnName("city").HasColumnType("varchar(80)").HasMaxLength(80); + b.Property("City").HasMaxLength(80).HasColumnType("varchar(80)").HasColumnName("city"); - b.Property("CountryId").HasColumnName("country").HasColumnType("smallint(3)"); + b.Property("CountryId").HasColumnType("smallint(3)").HasColumnName("country"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); b.Property("DocumentCompanyId").HasColumnType("int"); - b.Property("Facebook").HasColumnName("facebook").HasColumnType("varchar(45)").HasMaxLength(45); + b.Property("Facebook").HasMaxLength(45).HasColumnType("varchar(45)").HasColumnName("facebook"); - b.Property("Founded").HasColumnName("founded").HasColumnType("datetime"); + b.Property("Founded").HasColumnType("datetime").HasColumnName("founded"); b.Property("FoundedDayIsUnknown").HasColumnType("bit(1)"); @@ -535,57 +535,57 @@ namespace Marechai.Database.Migrations b.Property("LegalName").HasColumnType("longtext CHARACTER SET utf8mb4"); - b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasColumnName("name"). - HasColumnType("varchar(128)").HasDefaultValueSql("''"); + b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasColumnType("varchar(128)"). + HasColumnName("name").HasDefaultValueSql("''"); - b.Property("PostalCode").HasColumnName("postal_code").HasColumnType("varchar(25)"). - HasMaxLength(25); + b.Property("PostalCode").HasMaxLength(25).HasColumnType("varchar(25)"). + HasColumnName("postal_code"); - b.Property("Province").HasColumnName("province").HasColumnType("varchar(80)").HasMaxLength(80); + b.Property("Province").HasMaxLength(80).HasColumnType("varchar(80)").HasColumnName("province"); - b.Property("Sold").HasColumnName("sold").HasColumnType("datetime"); + b.Property("Sold").HasColumnType("datetime").HasColumnName("sold"); b.Property("SoldDayIsUnknown").HasColumnType("bit(1)"); b.Property("SoldMonthIsUnknown").HasColumnType("bit(1)"); - b.Property("SoldToId").HasColumnName("sold_to").HasColumnType("int(11)"); + b.Property("SoldToId").HasColumnType("int(11)").HasColumnName("sold_to"); - b.Property("Status").HasColumnName("status").HasColumnType("int(11)"); + b.Property("Status").HasColumnType("int(11)").HasColumnName("status"); - b.Property("Twitter").HasColumnName("twitter").HasColumnType("varchar(45)").HasMaxLength(45); + b.Property("Twitter").HasMaxLength(45).HasColumnType("varchar(45)").HasColumnName("twitter"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); - b.Property("Website").HasColumnName("website").HasColumnType("varchar(255)").HasMaxLength(255); + b.Property("Website").HasMaxLength(255).HasColumnType("varchar(255)").HasColumnName("website"); b.HasKey("Id"); - b.HasIndex("Address").HasName("idx_companies_address"); + b.HasIndex("Address").HasDatabaseName("idx_companies_address"); - b.HasIndex("City").HasName("idx_companies_city"); + b.HasIndex("City").HasDatabaseName("idx_companies_city"); - b.HasIndex("CountryId").HasName("idx_companies_country"); + b.HasIndex("CountryId").HasDatabaseName("idx_companies_country"); - b.HasIndex("Facebook").HasName("idx_companies_facebook"); + b.HasIndex("Facebook").HasDatabaseName("idx_companies_facebook"); - b.HasIndex("Founded").HasName("idx_companies_founded"); + b.HasIndex("Founded").HasDatabaseName("idx_companies_founded"); - b.HasIndex("Name").HasName("idx_companies_name"); + b.HasIndex("Name").HasDatabaseName("idx_companies_name"); - b.HasIndex("PostalCode").HasName("idx_companies_postal_code"); + b.HasIndex("PostalCode").HasDatabaseName("idx_companies_postal_code"); - b.HasIndex("Province").HasName("idx_companies_province"); + b.HasIndex("Province").HasDatabaseName("idx_companies_province"); - b.HasIndex("Sold").HasName("idx_companies_sold"); + b.HasIndex("Sold").HasDatabaseName("idx_companies_sold"); - b.HasIndex("SoldToId").HasName("idx_companies_sold_to"); + b.HasIndex("SoldToId").HasDatabaseName("idx_companies_sold_to"); - b.HasIndex("Status").HasName("idx_companies_status"); + b.HasIndex("Status").HasDatabaseName("idx_companies_status"); - b.HasIndex("Twitter").HasName("idx_companies_twitter"); + b.HasIndex("Twitter").HasDatabaseName("idx_companies_twitter"); - b.HasIndex("Website").HasName("idx_companies_website"); + b.HasIndex("Website").HasDatabaseName("idx_companies_website"); b.ToTable("companies"); }); @@ -598,10 +598,10 @@ namespace Marechai.Database.Migrations b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Html").HasColumnType("longtext CHARACTER SET utf8mb4").HasMaxLength(262144); + b.Property("Html").HasMaxLength(262144).HasColumnType("longtext CHARACTER SET utf8mb4"); - b.Property("Text").IsRequired().HasColumnType("longtext CHARACTER SET utf8mb4"). - HasMaxLength(262144); + b.Property("Text").IsRequired().HasMaxLength(262144). + HasColumnType("longtext CHARACTER SET utf8mb4"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); @@ -616,25 +616,25 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.CompanyLogo", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("CompanyId").HasColumnName("company_id").HasColumnType("int(11)"); + b.Property("CompanyId").HasColumnType("int(11)").HasColumnName("company_id"); - b.Property("Guid").HasColumnName("logo_guid").HasColumnType("char(36)"); + b.Property("Guid").HasColumnType("char(36)").HasColumnName("logo_guid"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); - b.Property("Year").HasColumnName("year").HasColumnType("int(4)"); + b.Property("Year").HasColumnType("int(4)").HasColumnName("year"); b.HasKey("Id", "CompanyId", "Guid"); - b.HasIndex("CompanyId").HasName("idx_company_id"); + b.HasIndex("CompanyId").HasDatabaseName("idx_company_id"); - b.HasIndex("Guid").HasName("idx_guid"); + b.HasIndex("Guid").HasDatabaseName("idx_guid"); - b.HasIndex("Id").IsUnique().HasName("idx_id"); + b.HasIndex("Id").IsUnique().HasDatabaseName("idx_id"); b.ToTable("company_logos"); }); @@ -645,7 +645,7 @@ namespace Marechai.Database.Migrations b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("CurrencyCode").HasColumnType("varchar(3) CHARACTER SET utf8mb4"); + b.Property("CurrencyCode").IsRequired().HasColumnType("varchar(3) CHARACTER SET utf8mb4"); b.Property("Inflation").HasColumnType("float"); @@ -668,13 +668,13 @@ namespace Marechai.Database.Migrations b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("DestinationCode").HasColumnType("varchar(3) CHARACTER SET utf8mb4"); + b.Property("DestinationCode").IsRequired().HasColumnType("varchar(3) CHARACTER SET utf8mb4"); b.Property("End").HasColumnType("datetime(6)"); b.Property("Ratio").HasColumnType("float"); - b.Property("SourceCode").HasColumnType("varchar(3) CHARACTER SET utf8mb4"); + b.Property("SourceCode").IsRequired().HasColumnType("varchar(3) CHARACTER SET utf8mb4"); b.Property("Start").HasColumnType("datetime(6)"); @@ -770,7 +770,7 @@ namespace Marechai.Database.Migrations b.Property("Published").HasColumnType("datetime(6)"); - b.Property("Synopsis").HasColumnType("longtext CHARACTER SET utf8mb4").HasMaxLength(262144); + b.Property("Synopsis").HasMaxLength(262144).HasColumnType("longtext CHARACTER SET utf8mb4"); b.Property("Title").IsRequired().HasColumnType("varchar(255) CHARACTER SET utf8mb4"); @@ -1031,25 +1031,25 @@ namespace Marechai.Database.Migrations b.Property("Extents").IsRequired().HasColumnType("json"); - b.Property("Firmware").HasColumnType("varchar(32) CHARACTER SET utf8mb4").HasMaxLength(32); + b.Property("Firmware").HasMaxLength(32).HasColumnType("varchar(32) CHARACTER SET utf8mb4"); - b.Property("Manufacturer").HasColumnType("varchar(48) CHARACTER SET utf8mb4").HasMaxLength(48); + b.Property("Manufacturer").HasMaxLength(48).HasColumnType("varchar(48) CHARACTER SET utf8mb4"); - b.Property("Model").IsRequired().HasColumnType("varchar(48) CHARACTER SET utf8mb4"). - HasMaxLength(48); + b.Property("Model").IsRequired().HasMaxLength(48). + HasColumnType("varchar(48) CHARACTER SET utf8mb4"); - b.Property("Revision").HasColumnType("varchar(48) CHARACTER SET utf8mb4").HasMaxLength(48); + b.Property("Revision").HasMaxLength(48).HasColumnType("varchar(48) CHARACTER SET utf8mb4"); - b.Property("Serial").HasColumnType("varchar(64) CHARACTER SET utf8mb4").HasMaxLength(64); + b.Property("Serial").HasMaxLength(64).HasColumnType("varchar(64) CHARACTER SET utf8mb4"); - b.Property("SoftwareName").IsRequired().HasColumnType("varchar(64) CHARACTER SET utf8mb4"). - HasMaxLength(64); + b.Property("SoftwareName").IsRequired().HasMaxLength(64). + HasColumnType("varchar(64) CHARACTER SET utf8mb4"); - b.Property("SoftwareOperatingSystem").HasColumnType("varchar(64) CHARACTER SET utf8mb4"). - HasMaxLength(64); + b.Property("SoftwareOperatingSystem").HasMaxLength(64). + HasColumnType("varchar(64) CHARACTER SET utf8mb4"); - b.Property("SoftwareVersion").HasColumnType("varchar(32) CHARACTER SET utf8mb4"). - HasMaxLength(32); + b.Property("SoftwareVersion").HasMaxLength(32). + HasColumnType("varchar(32) CHARACTER SET utf8mb4"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); @@ -1084,7 +1084,7 @@ namespace Marechai.Database.Migrations b.Property("FileId").HasColumnType("bigint unsigned"); - b.Property("Name").HasColumnType("varchar(255) CHARACTER SET utf8mb4").HasMaxLength(255); + b.Property("Name").HasMaxLength(255).HasColumnType("varchar(255) CHARACTER SET utf8mb4"); b.Property("Size").HasColumnType("bigint unsigned"); @@ -1279,105 +1279,105 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.Forbidden", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("Browser").IsRequired().ValueGeneratedOnAdd().HasColumnName("browser"). - HasColumnType("char(128)").HasDefaultValueSql("''"); + b.Property("Browser").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(128)"). + HasColumnName("browser").HasDefaultValueSql("''"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Date").IsRequired().ValueGeneratedOnAdd().HasColumnName("date"). - HasColumnType("char(20)").HasDefaultValueSql("''"); + b.Property("Date").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(20)"). + HasColumnName("date").HasDefaultValueSql("''"); - b.Property("Ip").IsRequired().ValueGeneratedOnAdd().HasColumnName("ip"). - HasColumnType("char(16)").HasDefaultValueSql("''"); + b.Property("Ip").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(16)"). + HasColumnName("ip").HasDefaultValueSql("''"); - b.Property("Referer").IsRequired().ValueGeneratedOnAdd().HasColumnName("referer"). - HasColumnType("char(255)").HasDefaultValueSql("''"); + b.Property("Referer").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(255)"). + HasColumnName("referer").HasDefaultValueSql("''"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("Browser").HasName("idx_forbidden_browser"); + b.HasIndex("Browser").HasDatabaseName("idx_forbidden_browser"); - b.HasIndex("Date").HasName("idx_forbidden_date"); + b.HasIndex("Date").HasDatabaseName("idx_forbidden_date"); - b.HasIndex("Ip").HasName("idx_forbidden_ip"); + b.HasIndex("Ip").HasDatabaseName("idx_forbidden_ip"); - b.HasIndex("Referer").HasName("idx_forbidden_referer"); + b.HasIndex("Referer").HasDatabaseName("idx_forbidden_referer"); b.ToTable("forbidden"); }); modelBuilder.Entity("Marechai.Database.Models.Gpu", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("CompanyId").HasColumnName("company").HasColumnType("int(11)"); + b.Property("CompanyId").HasColumnType("int(11)").HasColumnName("company"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("DieSize").HasColumnName("die_size").HasColumnType("float"); + b.Property("DieSize").HasColumnType("float").HasColumnName("die_size"); - b.Property("Introduced").HasColumnName("introduced").HasColumnType("datetime"); + b.Property("Introduced").HasColumnType("datetime").HasColumnName("introduced"); - b.Property("ModelCode").HasColumnName("model_code").HasColumnType("varchar(45)"). - HasMaxLength(45); + b.Property("ModelCode").HasMaxLength(45).HasColumnType("varchar(45)"). + HasColumnName("model_code"); - b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasColumnName("name"). - HasColumnType("char(128)").HasDefaultValueSql("''").HasMaxLength(128); + b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasMaxLength(128). + HasColumnType("char(128)").HasColumnName("name").HasDefaultValueSql("''"); - b.Property("Package").HasColumnName("package").HasColumnType("varchar(45)").HasMaxLength(45); + b.Property("Package").HasMaxLength(45).HasColumnType("varchar(45)").HasColumnName("package"); - b.Property("Process").HasColumnName("process").HasColumnType("varchar(45)").HasMaxLength(45); + b.Property("Process").HasMaxLength(45).HasColumnType("varchar(45)").HasColumnName("process"); - b.Property("ProcessNm").HasColumnName("process_nm").HasColumnType("float"); + b.Property("ProcessNm").HasColumnType("float").HasColumnName("process_nm"); - b.Property("Transistors").HasColumnName("transistors").HasColumnType("bigint(20)"); + b.Property("Transistors").HasColumnType("bigint(20)").HasColumnName("transistors"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("CompanyId").HasName("idx_gpus_company"); + b.HasIndex("CompanyId").HasDatabaseName("idx_gpus_company"); - b.HasIndex("DieSize").HasName("idx_gpus_die_size"); + b.HasIndex("DieSize").HasDatabaseName("idx_gpus_die_size"); - b.HasIndex("Introduced").HasName("idx_gpus_introduced"); + b.HasIndex("Introduced").HasDatabaseName("idx_gpus_introduced"); - b.HasIndex("ModelCode").HasName("idx_gpus_model_code"); + b.HasIndex("ModelCode").HasDatabaseName("idx_gpus_model_code"); - b.HasIndex("Name").HasName("idx_gpus_name"); + b.HasIndex("Name").HasDatabaseName("idx_gpus_name"); - b.HasIndex("Package").HasName("idx_gpus_package"); + b.HasIndex("Package").HasDatabaseName("idx_gpus_package"); - b.HasIndex("Process").HasName("idx_gpus_process"); + b.HasIndex("Process").HasDatabaseName("idx_gpus_process"); - b.HasIndex("ProcessNm").HasName("idx_gpus_process_nm"); + b.HasIndex("ProcessNm").HasDatabaseName("idx_gpus_process_nm"); - b.HasIndex("Transistors").HasName("idx_gpus_transistors"); + b.HasIndex("Transistors").HasDatabaseName("idx_gpus_transistors"); b.ToTable("gpus"); }); modelBuilder.Entity("Marechai.Database.Models.GpusByMachine", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("bigint(20)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("GpuId").HasColumnName("gpu").HasColumnType("int(11)"); + b.Property("GpuId").HasColumnType("int(11)").HasColumnName("gpu"); - b.Property("MachineId").HasColumnName("machine").HasColumnType("int(11)"); + b.Property("MachineId").HasColumnType("int(11)").HasColumnName("machine"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("GpuId").HasName("idx_gpus_by_machine_gpus"); + b.HasIndex("GpuId").HasDatabaseName("idx_gpus_by_machine_gpus"); - b.HasIndex("MachineId").HasName("idx_gpus_by_machine_machine"); + b.HasIndex("MachineId").HasDatabaseName("idx_gpus_by_machine_machine"); b.ToTable("gpus_by_machine"); }); @@ -1434,12 +1434,12 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.InstructionSet", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Name").IsRequired().HasColumnName("instruction_set").HasColumnType("varchar(45)"). - HasMaxLength(45); + b.Property("Name").IsRequired().HasMaxLength(45).HasColumnType("varchar(45)"). + HasColumnName("instruction_set"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); @@ -1450,12 +1450,12 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtension", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Extension").IsRequired().HasColumnName("extension").HasColumnType("varchar(45)"). - HasMaxLength(45); + b.Property("Extension").IsRequired().HasMaxLength(45).HasColumnType("varchar(45)"). + HasColumnName("extension"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); @@ -1466,11 +1466,11 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtensionsByProcessor", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("ProcessorId").HasColumnName("processor_id").HasColumnType("int(11)"); + b.Property("ProcessorId").HasColumnType("int(11)").HasColumnName("processor_id"); - b.Property("ExtensionId").HasColumnName("extension_id").HasColumnType("int(11)"); + b.Property("ExtensionId").HasColumnType("int(11)").HasColumnName("extension_id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); @@ -1478,9 +1478,9 @@ namespace Marechai.Database.Migrations b.HasKey("Id", "ProcessorId", "ExtensionId"); - b.HasIndex("ExtensionId").HasName("idx_setextension_extension"); + b.HasIndex("ExtensionId").HasDatabaseName("idx_setextension_extension"); - b.HasIndex("ProcessorId").HasName("idx_setextension_processor"); + b.HasIndex("ProcessorId").HasDatabaseName("idx_setextension_processor"); b.ToTable("instruction_set_extensions_by_processor"); }); @@ -1508,32 +1508,32 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.Iso31661Numeric", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("smallint(3)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("smallint(3)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Name").IsRequired().HasColumnName("name").HasColumnType("varchar(64)"). - HasMaxLength(64); + b.Property("Name").IsRequired().HasMaxLength(64).HasColumnType("varchar(64)"). + HasColumnName("name"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("Name").HasName("idx_name"); + b.HasIndex("Name").HasDatabaseName("idx_name"); b.ToTable("iso3166_1_numeric"); }); modelBuilder.Entity("Marechai.Database.Models.Iso4217", b => { - b.Property("Code").HasColumnType("varchar(3) CHARACTER SET utf8mb4").HasMaxLength(3); + b.Property("Code").HasMaxLength(3).HasColumnType("varchar(3) CHARACTER SET utf8mb4"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); b.Property("MinorUnits").HasColumnType("tinyint unsigned"); - b.Property("Name").IsRequired().HasColumnType("varchar(150) CHARACTER SET utf8mb4"). - HasMaxLength(150); + b.Property("Name").IsRequired().HasMaxLength(150). + HasColumnType("varchar(150) CHARACTER SET utf8mb4"); b.Property("Numeric").HasColumnType("smallint(3)"); @@ -1564,8 +1564,8 @@ namespace Marechai.Database.Migrations b.Property("Part2T").HasColumnType("char(3)"); - b.Property("ReferenceName").IsRequired().HasColumnName("Ref_Name"). - HasColumnType("varchar(150)"); + b.Property("ReferenceName").IsRequired().HasColumnType("varchar(150)"). + HasColumnName("Ref_Name"); b.Property("Scope").IsRequired().HasColumnType("char(1)"); @@ -1621,7 +1621,7 @@ namespace Marechai.Database.Migrations b.Property("FsfApproved").HasColumnType("bit(1)"); - b.Property("Link").HasColumnType("varchar(512) CHARACTER SET utf8mb4").HasMaxLength(512); + b.Property("Link").HasMaxLength(512).HasColumnType("varchar(512) CHARACTER SET utf8mb4"); b.Property("Name").IsRequired().HasColumnType("varchar(255) CHARACTER SET utf8mb4"); @@ -1629,7 +1629,7 @@ namespace Marechai.Database.Migrations b.Property("SPDX").HasColumnType("varchar(255) CHARACTER SET utf8mb4"); - b.Property("Text").HasColumnType("longtext").HasMaxLength(131072); + b.Property("Text").HasMaxLength(131072).HasColumnType("longtext"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); @@ -1648,33 +1648,33 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.Log", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("Browser").IsRequired().ValueGeneratedOnAdd().HasColumnName("browser"). - HasColumnType("char(128)").HasDefaultValueSql("''"); + b.Property("Browser").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(128)"). + HasColumnName("browser").HasDefaultValueSql("''"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Date").IsRequired().ValueGeneratedOnAdd().HasColumnName("date"). - HasColumnType("char(20)").HasDefaultValueSql("''"); + b.Property("Date").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(20)"). + HasColumnName("date").HasDefaultValueSql("''"); - b.Property("Ip").IsRequired().ValueGeneratedOnAdd().HasColumnName("ip"). - HasColumnType("char(16)").HasDefaultValueSql("''"); + b.Property("Ip").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(16)"). + HasColumnName("ip").HasDefaultValueSql("''"); - b.Property("Referer").IsRequired().ValueGeneratedOnAdd().HasColumnName("referer"). - HasColumnType("char(255)").HasDefaultValueSql("''"); + b.Property("Referer").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(255)"). + HasColumnName("referer").HasDefaultValueSql("''"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("Browser").HasName("idx_log_browser"); + b.HasIndex("Browser").HasDatabaseName("idx_log_browser"); - b.HasIndex("Date").HasName("idx_log_date"); + b.HasIndex("Date").HasDatabaseName("idx_log_date"); - b.HasIndex("Ip").HasName("idx_log_ip"); + b.HasIndex("Ip").HasDatabaseName("idx_log_ip"); - b.HasIndex("Referer").HasName("idx_log_referer"); + b.HasIndex("Referer").HasDatabaseName("idx_log_referer"); b.ToTable("log"); }); @@ -1743,40 +1743,40 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.Machine", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("CompanyId").ValueGeneratedOnAdd().HasColumnName("company").HasColumnType("int(11)"). + b.Property("CompanyId").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("company"). HasDefaultValueSql("'0'"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("FamilyId").HasColumnName("family").HasColumnType("int(11)"); + b.Property("FamilyId").HasColumnType("int(11)").HasColumnName("family"); - b.Property("Introduced").HasColumnName("introduced").HasColumnType("datetime"); + b.Property("Introduced").HasColumnType("datetime").HasColumnName("introduced"); - b.Property("Model").HasColumnName("model").HasColumnType("varchar(50)").HasMaxLength(50); + b.Property("Model").HasMaxLength(50).HasColumnType("varchar(50)").HasColumnName("model"); - b.Property("Name").IsRequired().HasColumnName("name").HasColumnType("varchar(255)"). - HasMaxLength(255); + b.Property("Name").IsRequired().HasMaxLength(255).HasColumnType("varchar(255)"). + HasColumnName("name"); - b.Property("Type").ValueGeneratedOnAdd().HasColumnName("type").HasColumnType("int(11)"). + b.Property("Type").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("type"). HasDefaultValueSql("'0'"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("CompanyId").HasName("idx_machines_company"); + b.HasIndex("CompanyId").HasDatabaseName("idx_machines_company"); - b.HasIndex("FamilyId").HasName("idx_machines_family"); + b.HasIndex("FamilyId").HasDatabaseName("idx_machines_family"); - b.HasIndex("Introduced").HasName("idx_machines_introduced"); + b.HasIndex("Introduced").HasDatabaseName("idx_machines_introduced"); - b.HasIndex("Model").HasName("idx_machines_model"); + b.HasIndex("Model").HasDatabaseName("idx_machines_model"); - b.HasIndex("Name").HasName("idx_machines_name"); + b.HasIndex("Name").HasDatabaseName("idx_machines_name"); - b.HasIndex("Type").HasName("idx_machines_type"); + b.HasIndex("Type").HasDatabaseName("idx_machines_type"); b.ToTable("machines"); }); @@ -1804,22 +1804,22 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.MachineFamily", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("CompanyId").HasColumnName("company").HasColumnType("int(11)"); + b.Property("CompanyId").HasColumnType("int(11)").HasColumnName("company"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Name").IsRequired().HasColumnName("name").HasColumnType("varchar(255)"). - HasMaxLength(255); + b.Property("Name").IsRequired().HasMaxLength(255).HasColumnType("varchar(255)"). + HasColumnName("name"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("CompanyId").HasName("idx_machine_families_company"); + b.HasIndex("CompanyId").HasDatabaseName("idx_machine_families_company"); - b.HasIndex("Name").HasName("idx_machine_families_name"); + b.HasIndex("Name").HasDatabaseName("idx_machine_families_name"); b.ToTable("machine_families"); }); @@ -2017,13 +2017,13 @@ namespace Marechai.Database.Migrations b.Property("FirstPublication").HasColumnType("datetime(6)"); - b.Property("Issn").HasColumnType("varchar(8) CHARACTER SET utf8mb4").HasMaxLength(8); + b.Property("Issn").HasMaxLength(8).HasColumnType("varchar(8) CHARACTER SET utf8mb4"); b.Property("NativeTitle").HasColumnType("varchar(255) CHARACTER SET utf8mb4"); b.Property("Published").HasColumnType("datetime(6)"); - b.Property("Synopsis").HasColumnType("longtext CHARACTER SET utf8mb4").HasMaxLength(262144); + b.Property("Synopsis").HasMaxLength(262144).HasColumnType("longtext CHARACTER SET utf8mb4"); b.Property("Title").IsRequired().HasColumnType("varchar(255) CHARACTER SET utf8mb4"); @@ -2064,7 +2064,7 @@ namespace Marechai.Database.Migrations b.Property("Pages").HasColumnType("smallint"); - b.Property("ProductCode").HasColumnType("varchar(18) CHARACTER SET utf8mb4").HasMaxLength(18); + b.Property("ProductCode").HasMaxLength(18).HasColumnType("varchar(18) CHARACTER SET utf8mb4"); b.Property("Published").HasColumnType("datetime(6)"); @@ -2211,12 +2211,12 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.MarechaiDb", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("Updated").ValueGeneratedOnAdd().HasColumnName("updated"). - HasColumnType("datetime").HasDefaultValueSql("CURRENT_TIMESTAMP"); + b.Property("Updated").ValueGeneratedOnAdd().HasColumnType("datetime"). + HasColumnName("updated").HasDefaultValueSql("CURRENT_TIMESTAMP"); - b.Property("Version").HasColumnName("version").HasColumnType("int(11)"); + b.Property("Version").HasColumnType("int(11)").HasColumnName("version"); b.HasKey("Id"); @@ -2599,11 +2599,11 @@ namespace Marechai.Database.Migrations b.Property("Links").HasColumnType("bigint unsigned"); - b.Property("Name").IsRequired().HasColumnType("varchar(255) CHARACTER SET utf8mb4"). - HasMaxLength(255); + b.Property("Name").IsRequired().HasMaxLength(255). + HasColumnType("varchar(255) CHARACTER SET utf8mb4"); - b.Property("Path").IsRequired().HasColumnType("longtext CHARACTER SET utf8mb4"). - HasMaxLength(8192); + b.Property("Path").IsRequired().HasMaxLength(8192). + HasColumnType("longtext CHARACTER SET utf8mb4"); b.Property("PathSeparator").IsRequired().HasColumnType("varchar(1) CHARACTER SET utf8mb4"); @@ -2667,35 +2667,35 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.MemoryByMachine", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("bigint(20)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("MachineId").HasColumnName("machine").HasColumnType("int(11)"); + b.Property("MachineId").HasColumnType("int(11)").HasColumnName("machine"); - b.Property("Size").HasColumnName("size").HasColumnType("bigint(20)"); + b.Property("Size").HasColumnType("bigint(20)").HasColumnName("size"); - b.Property("Speed").HasColumnName("speed").HasColumnType("double"); + b.Property("Speed").HasColumnType("double").HasColumnName("speed"); - b.Property("Type").ValueGeneratedOnAdd().HasColumnName("type").HasColumnType("int(11)"). + b.Property("Type").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("type"). HasDefaultValueSql("'0'"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); - b.Property("Usage").ValueGeneratedOnAdd().HasColumnName("usage").HasColumnType("int(11)"). + b.Property("Usage").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("usage"). HasDefaultValueSql("'0'"); b.HasKey("Id"); - b.HasIndex("MachineId").HasName("idx_memory_by_machine_machine"); + b.HasIndex("MachineId").HasDatabaseName("idx_memory_by_machine_machine"); - b.HasIndex("Size").HasName("idx_memory_by_machine_size"); + b.HasIndex("Size").HasDatabaseName("idx_memory_by_machine_size"); - b.HasIndex("Speed").HasName("idx_memory_by_machine_speed"); + b.HasIndex("Speed").HasDatabaseName("idx_memory_by_machine_speed"); - b.HasIndex("Type").HasName("idx_memory_by_machine_type"); + b.HasIndex("Type").HasDatabaseName("idx_memory_by_machine_type"); - b.HasIndex("Usage").HasName("idx_memory_by_machine_usage"); + b.HasIndex("Usage").HasDatabaseName("idx_memory_by_machine_usage"); b.ToTable("memory_by_machine"); }); @@ -2735,50 +2735,50 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.MoneyDonation", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Donator").IsRequired().ValueGeneratedOnAdd().HasColumnName("donator"). - HasColumnType("char(128)").HasDefaultValueSql("''"); + b.Property("Donator").IsRequired().ValueGeneratedOnAdd().HasColumnType("char(128)"). + HasColumnName("donator").HasDefaultValueSql("''"); - b.Property("Quantity").ValueGeneratedOnAdd().HasColumnName("quantity"). - HasColumnType("decimal(11,2)").HasDefaultValueSql("'0.00'"); + b.Property("Quantity").ValueGeneratedOnAdd().HasColumnType("decimal(11,2)"). + HasColumnName("quantity").HasDefaultValueSql("'0.00'"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("Donator").HasName("idx_money_donations_donator"); + b.HasIndex("Donator").HasDatabaseName("idx_money_donations_donator"); - b.HasIndex("Quantity").HasName("idx_money_donations_quantity"); + b.HasIndex("Quantity").HasDatabaseName("idx_money_donations_quantity"); b.ToTable("money_donations"); }); modelBuilder.Entity("Marechai.Database.Models.News", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("AddedId").ValueGeneratedOnAdd().HasColumnName("added_id").HasColumnType("int(11)"). + b.Property("AddedId").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("added_id"). HasDefaultValueSql("'0'"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Date").HasColumnName("date").HasColumnType("datetime"); + b.Property("Date").HasColumnType("datetime").HasColumnName("date"); - b.Property("Type").ValueGeneratedOnAdd().HasColumnName("type").HasColumnType("int(11)"). + b.Property("Type").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("type"). HasDefaultValueSql("'0'"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("AddedId").HasName("idx_news_ip"); + b.HasIndex("AddedId").HasDatabaseName("idx_news_ip"); - b.HasIndex("Date").HasName("idx_news_date"); + b.HasIndex("Date").HasDatabaseName("idx_news_date"); - b.HasIndex("Type").HasName("idx_news_type"); + b.HasIndex("Type").HasDatabaseName("idx_news_type"); b.ToTable("news"); }); @@ -3247,140 +3247,140 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.Processor", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("AddrBus").HasColumnName("addr_bus").HasColumnType("int(11)"); + b.Property("AddrBus").HasColumnType("int(11)").HasColumnName("addr_bus"); - b.Property("CompanyId").HasColumnName("company").HasColumnType("int(11)"); + b.Property("CompanyId").HasColumnType("int(11)").HasColumnName("company"); - b.Property("Cores").HasColumnName("cores").HasColumnType("int(11)"); + b.Property("Cores").HasColumnType("int(11)").HasColumnName("cores"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("DataBus").HasColumnName("data_bus").HasColumnType("int(11)"); + b.Property("DataBus").HasColumnType("int(11)").HasColumnName("data_bus"); - b.Property("DieSize").HasColumnName("die_size").HasColumnType("float"); + b.Property("DieSize").HasColumnType("float").HasColumnName("die_size"); - b.Property("FprSize").HasColumnName("FPR_size").HasColumnType("int(11)"); + b.Property("FprSize").HasColumnType("int(11)").HasColumnName("FPR_size"); - b.Property("Fprs").HasColumnName("FPRs").HasColumnType("int(11)"); + b.Property("Fprs").HasColumnType("int(11)").HasColumnName("FPRs"); - b.Property("GprSize").HasColumnName("GPR_size").HasColumnType("int(11)"); + b.Property("GprSize").HasColumnType("int(11)").HasColumnName("GPR_size"); - b.Property("Gprs").HasColumnName("GPRs").HasColumnType("int(11)"); + b.Property("Gprs").HasColumnType("int(11)").HasColumnName("GPRs"); - b.Property("InstructionSetId").HasColumnName("instruction_set").HasColumnType("int(11)"); + b.Property("InstructionSetId").HasColumnType("int(11)").HasColumnName("instruction_set"); - b.Property("Introduced").HasColumnName("introduced").HasColumnType("datetime"); + b.Property("Introduced").HasColumnType("datetime").HasColumnName("introduced"); - b.Property("L1Data").HasColumnName("L1_data").HasColumnType("float"); + b.Property("L1Data").HasColumnType("float").HasColumnName("L1_data"); - b.Property("L1Instruction").HasColumnName("L1_instruction").HasColumnType("float"); + b.Property("L1Instruction").HasColumnType("float").HasColumnName("L1_instruction"); b.Property("L2").HasColumnType("float"); b.Property("L3").HasColumnType("float"); - b.Property("ModelCode").HasColumnName("model_code").HasColumnType("varchar(45)"). - HasMaxLength(45); + b.Property("ModelCode").HasMaxLength(45).HasColumnType("varchar(45)"). + HasColumnName("model_code"); - b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasColumnName("name"). - HasColumnType("char(50)").HasDefaultValueSql("''").HasMaxLength(50); + b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasMaxLength(50). + HasColumnType("char(50)").HasColumnName("name").HasDefaultValueSql("''"); - b.Property("Package").HasColumnName("package").HasColumnType("varchar(45)").HasMaxLength(45); + b.Property("Package").HasMaxLength(45).HasColumnType("varchar(45)").HasColumnName("package"); - b.Property("Process").HasColumnName("process").HasColumnType("varchar(45)").HasMaxLength(45); + b.Property("Process").HasMaxLength(45).HasColumnType("varchar(45)").HasColumnName("process"); - b.Property("ProcessNm").HasColumnName("process_nm").HasColumnType("float"); + b.Property("ProcessNm").HasColumnType("float").HasColumnName("process_nm"); - b.Property("SimdRegisters").HasColumnName("SIMD_registers").HasColumnType("int(11)"); + b.Property("SimdRegisters").HasColumnType("int(11)").HasColumnName("SIMD_registers"); - b.Property("SimdSize").HasColumnName("SIMD_size").HasColumnType("int(11)"); + b.Property("SimdSize").HasColumnType("int(11)").HasColumnName("SIMD_size"); - b.Property("Speed").HasColumnName("speed").HasColumnType("double"); + b.Property("Speed").HasColumnType("double").HasColumnName("speed"); - b.Property("ThreadsPerCore").HasColumnName("threads_per_core").HasColumnType("int(11)"); + b.Property("ThreadsPerCore").HasColumnType("int(11)").HasColumnName("threads_per_core"); - b.Property("Transistors").HasColumnName("transistors").HasColumnType("bigint(20)"); + b.Property("Transistors").HasColumnType("bigint(20)").HasColumnName("transistors"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("AddrBus").HasName("idx_processors_addr_bus"); + b.HasIndex("AddrBus").HasDatabaseName("idx_processors_addr_bus"); - b.HasIndex("CompanyId").HasName("idx_processors_company"); + b.HasIndex("CompanyId").HasDatabaseName("idx_processors_company"); - b.HasIndex("Cores").HasName("idx_processors_cores"); + b.HasIndex("Cores").HasDatabaseName("idx_processors_cores"); - b.HasIndex("DataBus").HasName("idx_processors_data_bus"); + b.HasIndex("DataBus").HasDatabaseName("idx_processors_data_bus"); - b.HasIndex("DieSize").HasName("idx_processors_die_size"); + b.HasIndex("DieSize").HasDatabaseName("idx_processors_die_size"); - b.HasIndex("FprSize").HasName("idx_processors_FPR_size"); + b.HasIndex("FprSize").HasDatabaseName("idx_processors_FPR_size"); - b.HasIndex("Fprs").HasName("idx_processors_FPRs"); + b.HasIndex("Fprs").HasDatabaseName("idx_processors_FPRs"); - b.HasIndex("GprSize").HasName("idx_processors_GPR_size"); + b.HasIndex("GprSize").HasDatabaseName("idx_processors_GPR_size"); - b.HasIndex("Gprs").HasName("idx_processors_GPRs"); + b.HasIndex("Gprs").HasDatabaseName("idx_processors_GPRs"); - b.HasIndex("InstructionSetId").HasName("idx_processors_instruction_set"); + b.HasIndex("InstructionSetId").HasDatabaseName("idx_processors_instruction_set"); - b.HasIndex("Introduced").HasName("idx_processors_introduced"); + b.HasIndex("Introduced").HasDatabaseName("idx_processors_introduced"); - b.HasIndex("L1Data").HasName("idx_processors_L1_data"); + b.HasIndex("L1Data").HasDatabaseName("idx_processors_L1_data"); - b.HasIndex("L1Instruction").HasName("idx_processors_L1_instruction"); + b.HasIndex("L1Instruction").HasDatabaseName("idx_processors_L1_instruction"); - b.HasIndex("L2").HasName("idx_processors_L2"); + b.HasIndex("L2").HasDatabaseName("idx_processors_L2"); - b.HasIndex("L3").HasName("idx_processors_L3"); + b.HasIndex("L3").HasDatabaseName("idx_processors_L3"); - b.HasIndex("ModelCode").HasName("idx_processors_model_code"); + b.HasIndex("ModelCode").HasDatabaseName("idx_processors_model_code"); - b.HasIndex("Name").HasName("idx_processors_name"); + b.HasIndex("Name").HasDatabaseName("idx_processors_name"); - b.HasIndex("Package").HasName("idx_processors_package"); + b.HasIndex("Package").HasDatabaseName("idx_processors_package"); - b.HasIndex("Process").HasName("idx_processors_process"); + b.HasIndex("Process").HasDatabaseName("idx_processors_process"); - b.HasIndex("ProcessNm").HasName("idx_processors_process_nm"); + b.HasIndex("ProcessNm").HasDatabaseName("idx_processors_process_nm"); - b.HasIndex("SimdRegisters").HasName("idx_processors_SIMD_registers"); + b.HasIndex("SimdRegisters").HasDatabaseName("idx_processors_SIMD_registers"); - b.HasIndex("SimdSize").HasName("idx_processors_SIMD_size"); + b.HasIndex("SimdSize").HasDatabaseName("idx_processors_SIMD_size"); - b.HasIndex("Speed").HasName("idx_processors_speed"); + b.HasIndex("Speed").HasDatabaseName("idx_processors_speed"); - b.HasIndex("ThreadsPerCore").HasName("idx_processors_threads_per_core"); + b.HasIndex("ThreadsPerCore").HasDatabaseName("idx_processors_threads_per_core"); - b.HasIndex("Transistors").HasName("idx_processors_transistors"); + b.HasIndex("Transistors").HasDatabaseName("idx_processors_transistors"); b.ToTable("processors"); }); modelBuilder.Entity("Marechai.Database.Models.ProcessorsByMachine", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("bigint(20)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("MachineId").HasColumnName("machine").HasColumnType("int(11)"); + b.Property("MachineId").HasColumnType("int(11)").HasColumnName("machine"); - b.Property("ProcessorId").HasColumnName("processor").HasColumnType("int(11)"); + b.Property("ProcessorId").HasColumnType("int(11)").HasColumnName("processor"); - b.Property("Speed").HasColumnName("speed").HasColumnType("float"); + b.Property("Speed").HasColumnType("float").HasColumnName("speed"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("MachineId").HasName("idx_processors_by_machine_machine"); + b.HasIndex("MachineId").HasDatabaseName("idx_processors_by_machine_machine"); - b.HasIndex("ProcessorId").HasName("idx_processors_by_machine_processor"); + b.HasIndex("ProcessorId").HasDatabaseName("idx_processors_by_machine_processor"); - b.HasIndex("Speed").HasName("idx_processors_by_machine_speed"); + b.HasIndex("Speed").HasDatabaseName("idx_processors_by_machine_speed"); b.ToTable("processors_by_machine"); }); @@ -3487,64 +3487,64 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.Resolution", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("Chars").ValueGeneratedOnAdd().HasColumnName("chars").HasColumnType("tinyint(1)"). + b.Property("Chars").ValueGeneratedOnAdd().HasColumnType("tinyint(1)").HasColumnName("chars"). HasDefaultValueSql("'0'"); - b.Property("Colors").HasColumnName("colors").HasColumnType("bigint(20)"); + b.Property("Colors").HasColumnType("bigint(20)").HasColumnName("colors"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); b.Property("Grayscale").HasColumnType("bit(1)"); - b.Property("Height").ValueGeneratedOnAdd().HasColumnName("height").HasColumnType("int(11)"). + b.Property("Height").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("height"). HasDefaultValueSql("'0'"); - b.Property("Palette").HasColumnName("palette").HasColumnType("bigint(20)"); + b.Property("Palette").HasColumnType("bigint(20)").HasColumnName("palette"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); - b.Property("Width").ValueGeneratedOnAdd().HasColumnName("width").HasColumnType("int(11)"). + b.Property("Width").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("width"). HasDefaultValueSql("'0'"); b.HasKey("Id"); - b.HasIndex("Colors").HasName("idx_resolutions_colors"); + b.HasIndex("Colors").HasDatabaseName("idx_resolutions_colors"); - b.HasIndex("Height").HasName("idx_resolutions_height"); + b.HasIndex("Height").HasDatabaseName("idx_resolutions_height"); - b.HasIndex("Palette").HasName("idx_resolutions_palette"); + b.HasIndex("Palette").HasDatabaseName("idx_resolutions_palette"); - b.HasIndex("Width").HasName("idx_resolutions_width"); + b.HasIndex("Width").HasDatabaseName("idx_resolutions_width"); - b.HasIndex("Width", "Height").HasName("idx_resolutions_resolution"); + b.HasIndex("Width", "Height").HasDatabaseName("idx_resolutions_resolution"); - b.HasIndex("Width", "Height", "Colors").HasName("idx_resolutions_resolution_with_color"); + b.HasIndex("Width", "Height", "Colors").HasDatabaseName("idx_resolutions_resolution_with_color"); b.HasIndex("Width", "Height", "Colors", "Palette"). - HasName("idx_resolutions_resolution_with_color_and_palette"); + HasDatabaseName("idx_resolutions_resolution_with_color_and_palette"); b.ToTable("resolutions"); }); modelBuilder.Entity("Marechai.Database.Models.ResolutionsByGpu", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("bigint(20)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("GpuId").HasColumnName("gpu").HasColumnType("int(11)"); + b.Property("GpuId").HasColumnType("int(11)").HasColumnName("gpu"); - b.Property("ResolutionId").HasColumnName("resolution").HasColumnType("int(11)"); + b.Property("ResolutionId").HasColumnType("int(11)").HasColumnName("resolution"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("GpuId").HasName("idx_resolutions_by_gpu_gpu"); + b.HasIndex("GpuId").HasDatabaseName("idx_resolutions_by_gpu_gpu"); - b.HasIndex("ResolutionId").HasName("idx_resolutions_by_gpu_resolution"); + b.HasIndex("ResolutionId").HasDatabaseName("idx_resolutions_by_gpu_resolution"); b.ToTable("resolutions_by_gpu"); }); @@ -3788,21 +3788,21 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.SoundByMachine", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("bigint(20)").HasColumnName("id"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("MachineId").HasColumnName("machine").HasColumnType("int(11)"); + b.Property("MachineId").HasColumnType("int(11)").HasColumnName("machine"); - b.Property("SoundSynthId").HasColumnName("sound_synth").HasColumnType("int(11)"); + b.Property("SoundSynthId").HasColumnType("int(11)").HasColumnName("sound_synth"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("MachineId").HasName("idx_sound_by_machine_machine"); + b.HasIndex("MachineId").HasDatabaseName("idx_sound_by_machine_machine"); - b.HasIndex("SoundSynthId").HasName("idx_sound_by_machine_sound_synth"); + b.HasIndex("SoundSynthId").HasDatabaseName("idx_sound_by_machine_sound_synth"); b.ToTable("sound_by_machine"); }); @@ -3851,55 +3851,55 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.SoundSynth", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("int(11)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("id"); - b.Property("CompanyId").HasColumnName("company").HasColumnType("int(11)"); + b.Property("CompanyId").HasColumnType("int(11)").HasColumnName("company"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Depth").HasColumnName("depth").HasColumnType("int(11)"); + b.Property("Depth").HasColumnType("int(11)").HasColumnName("depth"); - b.Property("Frequency").HasColumnName("frequency").HasColumnType("double"); + b.Property("Frequency").HasColumnType("double").HasColumnName("frequency"); - b.Property("Introduced").HasColumnName("introduced").HasColumnType("datetime"); + b.Property("Introduced").HasColumnType("datetime").HasColumnName("introduced"); - b.Property("ModelCode").HasColumnName("model_code").HasColumnType("varchar(45)"). - HasMaxLength(45); + b.Property("ModelCode").HasMaxLength(45).HasColumnType("varchar(45)"). + HasColumnName("model_code"); - b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasColumnName("name"). - HasColumnType("char(50)").HasDefaultValueSql("''").HasMaxLength(50); + b.Property("Name").IsRequired().ValueGeneratedOnAdd().HasMaxLength(50). + HasColumnType("char(50)").HasColumnName("name").HasDefaultValueSql("''"); - b.Property("SquareWave").HasColumnName("square_wave").HasColumnType("int(11)"); + b.Property("SquareWave").HasColumnType("int(11)").HasColumnName("square_wave"); - b.Property("Type").HasColumnName("type").HasColumnType("int(11)"); + b.Property("Type").HasColumnType("int(11)").HasColumnName("type"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); - b.Property("Voices").HasColumnName("voices").HasColumnType("int(11)"); + b.Property("Voices").HasColumnType("int(11)").HasColumnName("voices"); - b.Property("WhiteNoise").HasColumnName("white_noise").HasColumnType("int(11)"); + b.Property("WhiteNoise").HasColumnType("int(11)").HasColumnName("white_noise"); b.HasKey("Id"); - b.HasIndex("CompanyId").HasName("idx_sound_synths_company"); + b.HasIndex("CompanyId").HasDatabaseName("idx_sound_synths_company"); - b.HasIndex("Depth").HasName("idx_sound_synths_depth"); + b.HasIndex("Depth").HasDatabaseName("idx_sound_synths_depth"); - b.HasIndex("Frequency").HasName("idx_sound_synths_frequency"); + b.HasIndex("Frequency").HasDatabaseName("idx_sound_synths_frequency"); - b.HasIndex("Introduced").HasName("idx_sound_synths_introduced"); + b.HasIndex("Introduced").HasDatabaseName("idx_sound_synths_introduced"); - b.HasIndex("ModelCode").HasName("idx_sound_synths_model_code"); + b.HasIndex("ModelCode").HasDatabaseName("idx_sound_synths_model_code"); - b.HasIndex("Name").HasName("idx_sound_synths_name"); + b.HasIndex("Name").HasDatabaseName("idx_sound_synths_name"); - b.HasIndex("SquareWave").HasName("idx_sound_synths_square_wave"); + b.HasIndex("SquareWave").HasDatabaseName("idx_sound_synths_square_wave"); - b.HasIndex("Type").HasName("idx_sound_synths_type"); + b.HasIndex("Type").HasDatabaseName("idx_sound_synths_type"); - b.HasIndex("Voices").HasName("idx_sound_synths_voices"); + b.HasIndex("Voices").HasDatabaseName("idx_sound_synths_voices"); - b.HasIndex("WhiteNoise").HasName("idx_sound_synths_white_noise"); + b.HasIndex("WhiteNoise").HasDatabaseName("idx_sound_synths_white_noise"); b.ToTable("sound_synths"); }); @@ -3930,11 +3930,11 @@ namespace Marechai.Database.Migrations b.Property("Links").HasColumnType("bigint unsigned"); - b.Property("Name").IsRequired().HasColumnType("varchar(255) CHARACTER SET utf8mb4"). - HasMaxLength(255); + b.Property("Name").IsRequired().HasMaxLength(255). + HasColumnType("varchar(255) CHARACTER SET utf8mb4"); - b.Property("Path").IsRequired().HasColumnType("longtext CHARACTER SET utf8mb4"). - HasMaxLength(8192); + b.Property("Path").IsRequired().HasMaxLength(8192). + HasColumnType("longtext CHARACTER SET utf8mb4"); b.Property("PathSeparator").IsRequired().HasColumnType("varchar(1) CHARACTER SET utf8mb4"); @@ -3977,31 +3977,31 @@ namespace Marechai.Database.Migrations modelBuilder.Entity("Marechai.Database.Models.StorageByMachine", b => { - b.Property("Id").ValueGeneratedOnAdd().HasColumnName("id").HasColumnType("bigint(20)"); + b.Property("Id").ValueGeneratedOnAdd().HasColumnType("bigint(20)").HasColumnName("id"); - b.Property("Capacity").HasColumnName("capacity").HasColumnType("bigint(20)"); + b.Property("Capacity").HasColumnType("bigint(20)").HasColumnName("capacity"); b.Property("CreatedOn").ValueGeneratedOnAdd().HasColumnType("datetime(6)"); - b.Property("Interface").ValueGeneratedOnAdd().HasColumnName("interface").HasColumnType("int(11)"). + b.Property("Interface").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("interface"). HasDefaultValueSql("'0'"); - b.Property("MachineId").HasColumnName("machine").HasColumnType("int(11)"); + b.Property("MachineId").HasColumnType("int(11)").HasColumnName("machine"); - b.Property("Type").ValueGeneratedOnAdd().HasColumnName("type").HasColumnType("int(11)"). + b.Property("Type").ValueGeneratedOnAdd().HasColumnType("int(11)").HasColumnName("type"). HasDefaultValueSql("'0'"); b.Property("UpdatedOn").ValueGeneratedOnAddOrUpdate().HasColumnType("datetime(6)"); b.HasKey("Id"); - b.HasIndex("Capacity").HasName("idx_storage_capacity"); + b.HasIndex("Capacity").HasDatabaseName("idx_storage_capacity"); - b.HasIndex("Interface").HasName("idx_storage_interface"); + b.HasIndex("Interface").HasDatabaseName("idx_storage_interface"); - b.HasIndex("MachineId").HasName("idx_storage_machine"); + b.HasIndex("MachineId").HasDatabaseName("idx_storage_machine"); - b.HasIndex("Type").HasName("idx_storage_type"); + b.HasIndex("Type").HasDatabaseName("idx_storage_type"); b.ToTable("storage_by_machine"); }); @@ -4118,6 +4118,8 @@ namespace Marechai.Database.Migrations { b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany().HasForeignKey("UserId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.Book", b => @@ -4129,6 +4131,12 @@ namespace Marechai.Database.Migrations HasForeignKey("Marechai.Database.Models.Book", "PreviousId"); b.HasOne("Marechai.Database.Models.Book", "Source").WithMany("Derivates").HasForeignKey("SourceId"); + + b.Navigation("Country"); + + b.Navigation("Previous"); + + b.Navigation("Source"); }); modelBuilder.Entity("Marechai.Database.Models.BookScan", b => @@ -4138,6 +4146,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany("BookScans"). HasForeignKey("UserId").OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Book"); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.BooksByMachine", b => @@ -4147,6 +4159,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Machine", "Machine").WithMany("Books").HasForeignKey("MachineId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Book"); + + b.Navigation("Machine"); }); modelBuilder.Entity("Marechai.Database.Models.BooksByMachineFamily", b => @@ -4156,6 +4172,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MachineFamily", "MachineFamily").WithMany("Books"). HasForeignKey("MachineFamilyId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Book"); + + b.Navigation("MachineFamily"); }); modelBuilder.Entity("Marechai.Database.Models.CompaniesByBook", b => @@ -4168,6 +4188,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.DocumentRole", "Role").WithMany().HasForeignKey("RoleId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Book"); + + b.Navigation("Company"); + + b.Navigation("Role"); }); modelBuilder.Entity("Marechai.Database.Models.CompaniesByDocument", b => @@ -4180,6 +4206,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.DocumentRole", "Role").WithMany().HasForeignKey("RoleId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Document"); + + b.Navigation("Role"); }); modelBuilder.Entity("Marechai.Database.Models.CompaniesByMagazine", b => @@ -4192,6 +4224,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.DocumentRole", "Role").WithMany().HasForeignKey("RoleId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Magazine"); + + b.Navigation("Role"); }); modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareFamily", b => @@ -4204,6 +4242,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareFamily", "SoftwareFamily").WithMany("Companies"). HasForeignKey("SoftwareFamilyId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Role"); + + b.Navigation("SoftwareFamily"); }); modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareVariant", b => @@ -4216,6 +4260,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Companies"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.CompaniesBySoftwareVersion", b => @@ -4228,6 +4278,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion").WithMany("Companies"). HasForeignKey("SoftwareVersionId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVersion"); }); modelBuilder.Entity("Marechai.Database.Models.Company", b => @@ -4237,24 +4293,34 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Company", "SoldTo").WithMany("InverseSoldToNavigation"). HasForeignKey("SoldToId").HasConstraintName("fk_companies_sold_to"); + + b.Navigation("Country"); + + b.Navigation("SoldTo"); }); modelBuilder.Entity("Marechai.Database.Models.CompanyDescription", b => { b.HasOne("Marechai.Database.Models.Company", "Company").WithMany("Descriptions"). HasForeignKey("CompanyId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); }); modelBuilder.Entity("Marechai.Database.Models.CompanyLogo", b => { b.HasOne("Marechai.Database.Models.Company", "Company").WithMany("Logos").HasForeignKey("CompanyId"). HasConstraintName("fk_company_logos_company1").IsRequired(); + + b.Navigation("Company"); }); modelBuilder.Entity("Marechai.Database.Models.CurrencyInflation", b => { b.HasOne("Marechai.Database.Models.Iso4217", "Currency").WithMany().HasForeignKey("CurrencyCode"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Currency"); }); modelBuilder.Entity("Marechai.Database.Models.CurrencyPegging", b => @@ -4264,12 +4330,18 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Iso4217", "Source").WithMany().HasForeignKey("SourceCode"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Destination"); + + b.Navigation("Source"); }); modelBuilder.Entity("Marechai.Database.Models.Document", b => { b.HasOne("Marechai.Database.Models.Iso31661Numeric", "Country").WithMany("Documents"). HasForeignKey("CountryId"); + + b.Navigation("Country"); }); modelBuilder.Entity("Marechai.Database.Models.DocumentCompany", b => @@ -4277,12 +4349,16 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Company", "Company").WithOne("DocumentCompany"). HasForeignKey("Marechai.Database.Models.DocumentCompany", "CompanyId"). OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Company"); }); modelBuilder.Entity("Marechai.Database.Models.DocumentPerson", b => { b.HasOne("Marechai.Database.Models.Person", "Person").WithOne("DocumentPerson"). HasForeignKey("Marechai.Database.Models.DocumentPerson", "PersonId").OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Person"); }); modelBuilder.Entity("Marechai.Database.Models.DocumentScan", b => @@ -4292,6 +4368,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany("DocumentScans"). HasForeignKey("UserId").OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Document"); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.DocumentsByMachine", b => @@ -4301,6 +4381,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Machine", "Machine").WithMany("Documents"). HasForeignKey("MachineId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Machine"); }); modelBuilder.Entity("Marechai.Database.Models.DocumentsByMachineFamily", b => @@ -4310,6 +4394,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MachineFamily", "MachineFamily").WithMany("Documents"). HasForeignKey("MachineFamilyId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Document"); + + b.Navigation("MachineFamily"); }); modelBuilder.Entity("Marechai.Database.Models.Dump", b => @@ -4322,18 +4410,28 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany("Dumps").HasForeignKey("UserId"). OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Media"); + + b.Navigation("MediaDump"); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.DumpHardware", b => { b.HasOne("Marechai.Database.Models.Dump", "Dump").WithMany("DumpHardware").HasForeignKey("DumpId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Dump"); }); modelBuilder.Entity("Marechai.Database.Models.FileDataStream", b => { b.HasOne("Marechai.Database.Models.DbFile", "File").WithMany().HasForeignKey("FileId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("File"); }); modelBuilder.Entity("Marechai.Database.Models.FileDataStreamsByMediaFile", b => @@ -4343,6 +4441,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MediaFile", "MediaFile").WithMany("DataStreams"). HasForeignKey("MediaFileId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("FileDataStream"); + + b.Navigation("MediaFile"); }); modelBuilder.Entity("Marechai.Database.Models.FileDataStreamsByStandaloneFile", b => @@ -4352,6 +4454,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.StandaloneFile", "StandaloneFile").WithMany("DataStreams"). HasForeignKey("StandaloneFileId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("FileDataStream"); + + b.Navigation("StandaloneFile"); }); modelBuilder.Entity("Marechai.Database.Models.FilesByFilesystem", b => @@ -4361,6 +4467,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Filesystem", "Filesystem").WithMany("Files"). HasForeignKey("FilesystemId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("File"); + + b.Navigation("Filesystem"); }); modelBuilder.Entity("Marechai.Database.Models.FilesystemsByLogicalPartition", b => @@ -4370,6 +4480,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.LogicalPartition", "Partition").WithMany("Filesystems"). HasForeignKey("PartitionId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Filesystem"); + + b.Navigation("Partition"); }); modelBuilder.Entity("Marechai.Database.Models.FilesystemsByMediaDumpFile", b => @@ -4379,12 +4493,18 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MediaDumpFileImage", "MediaDumpFileImage").WithMany("Filesystems"). HasForeignKey("MediaDumpFileImageId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Filesystem"); + + b.Navigation("MediaDumpFileImage"); }); modelBuilder.Entity("Marechai.Database.Models.Gpu", b => { b.HasOne("Marechai.Database.Models.Company", "Company").WithMany("Gpus").HasForeignKey("CompanyId"). HasConstraintName("fk_gpus_company"); + + b.Navigation("Company"); }); modelBuilder.Entity("Marechai.Database.Models.GpusByMachine", b => @@ -4394,6 +4514,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Machine", "Machine").WithMany("Gpus").HasForeignKey("MachineId"). HasConstraintName("fk_gpus_by_machine_machine").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("Machine"); }); modelBuilder.Entity("Marechai.Database.Models.GpusByOwnedMachine", b => @@ -4403,6 +4527,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine").WithMany("Gpus"). HasForeignKey("OwnedMachineId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("OwnedMachine"); }); modelBuilder.Entity("Marechai.Database.Models.GpusBySoftwareVariant", b => @@ -4412,6 +4540,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Gpus"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtensionsByProcessor", b => @@ -4422,6 +4554,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Processor", "Processor").WithMany("InstructionSetExtensions"). HasForeignKey("ProcessorId").HasConstraintName("fk_extension_processor_id").IsRequired(); + + b.Navigation("Extension"); + + b.Navigation("Processor"); }); modelBuilder.Entity("Marechai.Database.Models.InstructionSetsBySoftwareVariant", b => @@ -4431,6 +4567,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Architectures"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("InstructionSet"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.LanguagesBySoftwareVariant", b => @@ -4440,6 +4580,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Languages"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Language"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.LogicalPartitionsByMedia", b => @@ -4449,6 +4593,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.LogicalPartition", "Partition").WithMany("Media"). HasForeignKey("PartitionId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Media"); + + b.Navigation("Partition"); }); modelBuilder.Entity("Marechai.Database.Models.Machine", b => @@ -4458,6 +4606,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MachineFamily", "Family").WithMany("Machines"). HasForeignKey("FamilyId").HasConstraintName("fk_machines_family"); + + b.Navigation("Company"); + + b.Navigation("Family"); }); modelBuilder.Entity("Marechai.Database.Models.MachineFamiliesBySoftwareVariant", b => @@ -4467,6 +4619,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("MachineFamilies"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("MachineFamily"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.MachineFamily", b => @@ -4474,6 +4630,8 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Company", "Company").WithMany("MachineFamilies"). HasForeignKey("CompanyId").HasConstraintName("fk_machine_families_company"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); }); modelBuilder.Entity("Marechai.Database.Models.MachinePhoto", b => @@ -4486,6 +4644,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany("Photos").HasForeignKey("UserId"). OnDelete(DeleteBehavior.SetNull); + + b.Navigation("License"); + + b.Navigation("Machine"); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.MachinesBySoftwareVariant", b => @@ -4495,18 +4659,26 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Machines"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.Magazine", b => { b.HasOne("Marechai.Database.Models.Iso31661Numeric", "Country").WithMany("Magazines"). HasForeignKey("CountryId"); + + b.Navigation("Country"); }); modelBuilder.Entity("Marechai.Database.Models.MagazineIssue", b => { b.HasOne("Marechai.Database.Models.Magazine", "Magazine").WithMany("Issues"). HasForeignKey("MagazineId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Magazine"); }); modelBuilder.Entity("Marechai.Database.Models.MagazineScan", b => @@ -4516,6 +4688,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany("MagazineScans"). HasForeignKey("UserId").OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Magazine"); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.MagazinesByMachine", b => @@ -4525,6 +4701,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MagazineIssue", "Magazine").WithMany("Machines"). HasForeignKey("MagazineId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("Magazine"); }); modelBuilder.Entity("Marechai.Database.Models.MagazinesByMachineFamily", b => @@ -4534,18 +4714,26 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MagazineIssue", "Magazine").WithMany("MachineFamilies"). HasForeignKey("MagazineId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("MachineFamily"); + + b.Navigation("Magazine"); }); modelBuilder.Entity("Marechai.Database.Models.MasteringText", b => { b.HasOne("Marechai.Database.Models.Media", "Media").WithMany("MasteringTexts").HasForeignKey("MediaId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Media"); }); modelBuilder.Entity("Marechai.Database.Models.Media", b => { b.HasOne("Marechai.Database.Models.MagazineIssue", "MagazineIssue").WithMany("Coverdiscs"). HasForeignKey("MagazineIssueId").OnDelete(DeleteBehavior.SetNull); + + b.Navigation("MagazineIssue"); }); modelBuilder.Entity("Marechai.Database.Models.MediaBySoftwareVariant", b => @@ -4555,18 +4743,26 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Media"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Media"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.MediaDump", b => { b.HasOne("Marechai.Database.Models.Media", "Media").WithMany("MediaDumps").HasForeignKey("MediaId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Media"); }); modelBuilder.Entity("Marechai.Database.Models.MediaDumpFileImage", b => { b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump").WithMany("Files"). HasForeignKey("MediaDumpId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("MediaDump"); }); modelBuilder.Entity("Marechai.Database.Models.MediaDumpImage", b => @@ -4574,6 +4770,8 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump").WithOne("Image"). HasForeignKey("Marechai.Database.Models.MediaDumpImage", "MediaDumpId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("MediaDump"); }); modelBuilder.Entity("Marechai.Database.Models.MediaDumpSubchannelImage", b => @@ -4585,12 +4783,18 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MediaDumpTrackImage", "Track").WithOne("Subchannel"). HasForeignKey("Marechai.Database.Models.MediaDumpSubchannelImage", "TrackId"). OnDelete(DeleteBehavior.Cascade); + + b.Navigation("MediaDump"); + + b.Navigation("Track"); }); modelBuilder.Entity("Marechai.Database.Models.MediaDumpTrackImage", b => { b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump").WithMany("Tracks"). HasForeignKey("MediaDumpId").OnDelete(DeleteBehavior.Cascade); + + b.Navigation("MediaDump"); }); modelBuilder.Entity("Marechai.Database.Models.MediaTagDump", b => @@ -4600,18 +4804,26 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.MediaDump", "MediaDump").WithMany("Tags"). HasForeignKey("MediaDumpId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("File"); + + b.Navigation("MediaDump"); }); modelBuilder.Entity("Marechai.Database.Models.MemoryByMachine", b => { b.HasOne("Marechai.Database.Models.Machine", "Machine").WithMany("Memory").HasForeignKey("MachineId"). HasConstraintName("fk_memory_by_machine_machine").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Machine"); }); modelBuilder.Entity("Marechai.Database.Models.MemoryByOwnedMachine", b => { b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine").WithMany("Memory"). HasForeignKey("OwnedMachineId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("OwnedMachine"); }); modelBuilder.Entity("Marechai.Database.Models.OwnedMachine", b => @@ -4621,6 +4833,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany("OwnedMachines"). HasForeignKey("UserId").OnDelete(DeleteBehavior.Cascade); + + b.Navigation("Machine"); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.OwnedMachinePhoto", b => @@ -4633,6 +4849,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", "User").WithMany("OwnedMachinePhotos"). HasForeignKey("UserId").OnDelete(DeleteBehavior.Cascade); + + b.Navigation("License"); + + b.Navigation("OwnedMachine"); + + b.Navigation("User"); }); modelBuilder.Entity("Marechai.Database.Models.PeopleByBook", b => @@ -4645,6 +4867,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.DocumentRole", "Role").WithMany().HasForeignKey("RoleId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Book"); + + b.Navigation("Person"); + + b.Navigation("Role"); }); modelBuilder.Entity("Marechai.Database.Models.PeopleByCompany", b => @@ -4654,6 +4882,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Person", "Person").WithMany("Companies").HasForeignKey("PersonId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Company"); + + b.Navigation("Person"); }); modelBuilder.Entity("Marechai.Database.Models.PeopleByDocument", b => @@ -4666,6 +4898,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.DocumentRole", "Role").WithMany().HasForeignKey("RoleId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Person"); + + b.Navigation("Role"); }); modelBuilder.Entity("Marechai.Database.Models.PeopleByMagazine", b => @@ -4678,6 +4916,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.DocumentRole", "Role").WithMany().HasForeignKey("RoleId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Magazine"); + + b.Navigation("Person"); + + b.Navigation("Role"); }); modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareFamily", b => @@ -4690,6 +4934,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareFamily", "SoftwareFamily").WithMany("People"). HasForeignKey("SoftwareFamilyId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Person"); + + b.Navigation("Role"); + + b.Navigation("SoftwareFamily"); }); modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareVariant", b => @@ -4702,6 +4952,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("People"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Person"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.PeopleBySoftwareVersion", b => @@ -4714,12 +4970,20 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion").WithMany("People"). HasForeignKey("SoftwareVersionId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Person"); + + b.Navigation("Role"); + + b.Navigation("SoftwareVersion"); }); modelBuilder.Entity("Marechai.Database.Models.Person", b => { b.HasOne("Marechai.Database.Models.Iso31661Numeric", "CountryOfBirth").WithMany("People"). HasForeignKey("CountryOfBirthId"); + + b.Navigation("CountryOfBirth"); }); modelBuilder.Entity("Marechai.Database.Models.Processor", b => @@ -4729,6 +4993,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.InstructionSet", "InstructionSet").WithMany("Processors"). HasForeignKey("InstructionSetId").HasConstraintName("fk_processors_instruction_set"); + + b.Navigation("Company"); + + b.Navigation("InstructionSet"); }); modelBuilder.Entity("Marechai.Database.Models.ProcessorsByMachine", b => @@ -4740,6 +5008,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Processor", "Processor").WithMany("ProcessorsByMachine"). HasForeignKey("ProcessorId").HasConstraintName("fk_processors_by_machine_processor"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("Processor"); }); modelBuilder.Entity("Marechai.Database.Models.ProcessorsByOwnedMachine", b => @@ -4749,6 +5021,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Processor", "Processor").WithMany().HasForeignKey("ProcessorId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("OwnedMachine"); + + b.Navigation("Processor"); }); modelBuilder.Entity("Marechai.Database.Models.ProcessorsBySoftwareVariant", b => @@ -4758,6 +5034,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Processors"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Processor"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.RequiredOperatingSystemsBySofwareVariant", b => @@ -4768,6 +5048,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant"). WithMany("RequiredOperatingSystems").HasForeignKey("SoftwareVariantId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("OperatingSystem"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.RequiredSoftwareBySoftwareVariant", b => @@ -4777,6 +5061,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion").WithMany(). HasForeignKey("SoftwareVersionId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("SoftwareVariant"); + + b.Navigation("SoftwareVersion"); }); modelBuilder.Entity("Marechai.Database.Models.ResolutionsByGpu", b => @@ -4787,6 +5075,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Resolution", "Resolution").WithMany("ResolutionsByGpu"). HasForeignKey("ResolutionId").HasConstraintName("fk_resolutions_by_gpu_resolution"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Gpu"); + + b.Navigation("Resolution"); }); modelBuilder.Entity("Marechai.Database.Models.ResolutionsByScreen", b => @@ -4796,12 +5088,18 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Screen", "Screen").WithMany("Resolutions").HasForeignKey("ScreenId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Resolution"); + + b.Navigation("Screen"); }); modelBuilder.Entity("Marechai.Database.Models.Screen", b => { b.HasOne("Marechai.Database.Models.Resolution", "NativeResolution").WithMany("Screens"). HasForeignKey("NativeResolutionId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("NativeResolution"); }); modelBuilder.Entity("Marechai.Database.Models.ScreensByMachine", b => @@ -4811,12 +5109,18 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.Screen", "Screen").WithMany("ScreensByMachines"). HasForeignKey("ScreenId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("Screen"); }); modelBuilder.Entity("Marechai.Database.Models.SoftwareFamily", b => { b.HasOne("Marechai.Database.Models.SoftwareFamily", "Parent").WithMany("Children"). HasForeignKey("ParentId").OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Parent"); }); modelBuilder.Entity("Marechai.Database.Models.SoftwareVariant", b => @@ -4826,6 +5130,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVersion", "SoftwareVersion").WithMany("Variants"). HasForeignKey("SoftwareVersionId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Parent"); + + b.Navigation("SoftwareVersion"); }); modelBuilder.Entity("Marechai.Database.Models.SoftwareVariantByCompilationMedia", b => @@ -4835,6 +5143,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany(). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Media"); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.SoftwareVersion", b => @@ -4847,6 +5159,12 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoftwareVersion", "Previous").WithOne("Next"). HasForeignKey("Marechai.Database.Models.SoftwareVersion", "PreviousId"). OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Family"); + + b.Navigation("License"); + + b.Navigation("Previous"); }); modelBuilder.Entity("Marechai.Database.Models.SoundByMachine", b => @@ -4857,6 +5175,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoundSynth", "SoundSynth").WithMany("SoundByMachine"). HasForeignKey("SoundSynthId").HasConstraintName("fk_sound_by_machine_sound_synth"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Machine"); + + b.Navigation("SoundSynth"); }); modelBuilder.Entity("Marechai.Database.Models.SoundByOwnedMachine", b => @@ -4866,6 +5188,10 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoundSynth", "SoundSynth").WithMany().HasForeignKey("SoundSynthId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("OwnedMachine"); + + b.Navigation("SoundSynth"); }); modelBuilder.Entity("Marechai.Database.Models.SoundBySoftwareVariant", b => @@ -4875,30 +5201,42 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.SoundSynth", "SoundSynth").WithMany("Software"). HasForeignKey("SoundSynthId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("SoftwareVariant"); + + b.Navigation("SoundSynth"); }); modelBuilder.Entity("Marechai.Database.Models.SoundSynth", b => { b.HasOne("Marechai.Database.Models.Company", "Company").WithMany("SoundSynths"). HasForeignKey("CompanyId").HasConstraintName("fk_sound_synths_company"); + + b.Navigation("Company"); }); modelBuilder.Entity("Marechai.Database.Models.StandaloneFile", b => { b.HasOne("Marechai.Database.Models.SoftwareVariant", "SoftwareVariant").WithMany("Files"). HasForeignKey("SoftwareVariantId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("SoftwareVariant"); }); modelBuilder.Entity("Marechai.Database.Models.StorageByMachine", b => { b.HasOne("Marechai.Database.Models.Machine", "Machine").WithMany("Storage").HasForeignKey("MachineId"). HasConstraintName("fk_storage_by_machine_machine").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("Machine"); }); modelBuilder.Entity("Marechai.Database.Models.StorageByOwnedMachine", b => { b.HasOne("Marechai.Database.Models.OwnedMachine", "OwnedMachine").WithMany("Storage"). HasForeignKey("OwnedMachineId").OnDelete(DeleteBehavior.Cascade).IsRequired(); + + b.Navigation("OwnedMachine"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => @@ -4933,6 +5271,386 @@ namespace Marechai.Database.Migrations b.HasOne("Marechai.Database.Models.ApplicationUser", null).WithMany().HasForeignKey("UserId"). OnDelete(DeleteBehavior.Cascade).IsRequired(); }); + + modelBuilder.Entity("Marechai.Database.Models.ApplicationUser", b => + { + b.Navigation("BookScans"); + + b.Navigation("DocumentScans"); + + b.Navigation("Dumps"); + + b.Navigation("MagazineScans"); + + b.Navigation("OwnedMachinePhotos"); + + b.Navigation("OwnedMachines"); + + b.Navigation("Photos"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Book", b => + { + b.Navigation("Companies"); + + b.Navigation("Derivates"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("Next"); + + b.Navigation("People"); + + b.Navigation("Scans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Company", b => + { + b.Navigation("Descriptions"); + + b.Navigation("DocumentCompany"); + + b.Navigation("Gpus"); + + b.Navigation("InverseSoldToNavigation"); + + b.Navigation("Logos"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("People"); + + b.Navigation("Processors"); + + b.Navigation("SoftwareFamilies"); + + b.Navigation("SoftwareVariants"); + + b.Navigation("SoftwareVersions"); + + b.Navigation("SoundSynths"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Document", b => + { + b.Navigation("Companies"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("People"); + + b.Navigation("Scans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentCompany", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Magazines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.DocumentPerson", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Magazines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Dump", b => + { + b.Navigation("DumpHardware"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Filesystem", b => + { + b.Navigation("Files"); + + b.Navigation("MediaDumpFileImages"); + + b.Navigation("Partitions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Gpu", b => + { + b.Navigation("GpusByMachine"); + + b.Navigation("ResolutionsByGpu"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSet", b => + { + b.Navigation("Processors"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.InstructionSetExtension", b => + { + b.Navigation("InstructionSetExtensionsByProcessor"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Iso31661Numeric", b => + { + b.Navigation("Books"); + + b.Navigation("Companies"); + + b.Navigation("Documents"); + + b.Navigation("Magazines"); + + b.Navigation("People"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Iso639", b => + { + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.License", b => + { + b.Navigation("OwnedMachinePhotos"); + + b.Navigation("Photos"); + }); + + modelBuilder.Entity("Marechai.Database.Models.LogicalPartition", b => + { + b.Navigation("Filesystems"); + + b.Navigation("Media"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Machine", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Gpus"); + + b.Navigation("Magazines"); + + b.Navigation("Memory"); + + b.Navigation("Photos"); + + b.Navigation("Processors"); + + b.Navigation("Screens"); + + b.Navigation("Software"); + + b.Navigation("Sound"); + + b.Navigation("Storage"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MachineFamily", b => + { + b.Navigation("Books"); + + b.Navigation("Documents"); + + b.Navigation("Machines"); + + b.Navigation("Magazines"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Magazine", b => + { + b.Navigation("Companies"); + + b.Navigation("Issues"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MagazineIssue", b => + { + b.Navigation("Coverdiscs"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("People"); + + b.Navigation("Scans"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Media", b => + { + b.Navigation("Dumps"); + + b.Navigation("LogicalPartitions"); + + b.Navigation("MasteringTexts"); + + b.Navigation("MediaDumps"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDump", b => + { + b.Navigation("Dumps"); + + b.Navigation("Files"); + + b.Navigation("Image"); + + b.Navigation("Subchannel"); + + b.Navigation("Tags"); + + b.Navigation("Tracks"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpFileImage", b => + { + b.Navigation("Filesystems"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaDumpTrackImage", b => + { + b.Navigation("Subchannel"); + }); + + modelBuilder.Entity("Marechai.Database.Models.MediaFile", b => + { + b.Navigation("DataStreams"); + }); + + modelBuilder.Entity("Marechai.Database.Models.OwnedMachine", b => + { + b.Navigation("Gpus"); + + b.Navigation("Memory"); + + b.Navigation("Photos"); + + b.Navigation("Processors"); + + b.Navigation("Sound"); + + b.Navigation("Storage"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Person", b => + { + b.Navigation("Companies"); + + b.Navigation("DocumentPerson"); + + b.Navigation("SoftwareFamilies"); + + b.Navigation("SoftwareVariants"); + + b.Navigation("SoftwareVersions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Processor", b => + { + b.Navigation("InstructionSetExtensions"); + + b.Navigation("ProcessorsByMachine"); + + b.Navigation("Software"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Resolution", b => + { + b.Navigation("ResolutionsByGpu"); + + b.Navigation("ResolutionsByScreen"); + + b.Navigation("Screens"); + }); + + modelBuilder.Entity("Marechai.Database.Models.Screen", b => + { + b.Navigation("Resolutions"); + + b.Navigation("ScreensByMachines"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareFamily", b => + { + b.Navigation("Children"); + + b.Navigation("Companies"); + + b.Navigation("People"); + + b.Navigation("Versions"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVariant", b => + { + b.Navigation("Architectures"); + + b.Navigation("Companies"); + + b.Navigation("Derivates"); + + b.Navigation("Files"); + + b.Navigation("Gpus"); + + b.Navigation("Languages"); + + b.Navigation("MachineFamilies"); + + b.Navigation("Machines"); + + b.Navigation("Media"); + + b.Navigation("People"); + + b.Navigation("Processors"); + + b.Navigation("RequiredOperatingSystems"); + + b.Navigation("RequiredSoftware"); + + b.Navigation("SupportedSound"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoftwareVersion", b => + { + b.Navigation("Companies"); + + b.Navigation("Next"); + + b.Navigation("People"); + + b.Navigation("Variants"); + }); + + modelBuilder.Entity("Marechai.Database.Models.SoundSynth", b => + { + b.Navigation("Software"); + + b.Navigation("SoundByMachine"); + }); + + modelBuilder.Entity("Marechai.Database.Models.StandaloneFile", b => + { + b.Navigation("DataStreams"); + }); #pragma warning restore 612, 618 } } diff --git a/Marechai.Database/Models/Audit.cs b/Marechai.Database/Models/Audit.cs index 7aabb667..eec22642 100644 --- a/Marechai.Database/Models/Audit.cs +++ b/Marechai.Database/Models/Audit.cs @@ -1,6 +1,6 @@ -using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; namespace Marechai.Database.Models { @@ -8,12 +8,16 @@ namespace Marechai.Database.Models { public AuditType Type { get; set; } [Required] - public string UserId { get; set; } - public string Table { get; set; } - public JsonObject> Keys { get; set; } - public JsonObject> OldValues { get; set; } - public JsonObject> NewValues { get; set; } - public JsonObject> AffectedColumns { get; set; } + public string UserId { get; set; } + public string Table { get; set; } + [Column(TypeName = "json")] + public Dictionary Keys { get; set; } + [Column(TypeName = "json")] + public Dictionary OldValues { get; set; } + [Column(TypeName = "json")] + public Dictionary NewValues { get; set; } + [Column(TypeName = "json")] + public List AffectedColumns { get; set; } [Required] public virtual ApplicationUser User { get; set; } diff --git a/Marechai.Database/Models/DumpHardware.cs b/Marechai.Database/Models/DumpHardware.cs index 2ec9f6fc..f96d7e56 100644 --- a/Marechai.Database/Models/DumpHardware.cs +++ b/Marechai.Database/Models/DumpHardware.cs @@ -23,8 +23,8 @@ // Copyright © 2003-2020 Natalia Portillo *******************************************************************************/ -using System; using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; namespace Marechai.Database.Models { @@ -46,8 +46,8 @@ namespace Marechai.Database.Models public string SoftwareVersion { get; set; } [StringLength(64)] public string SoftwareOperatingSystem { get; set; } - [Required] - public JsonObject Extents { get; set; } + [Required, Column(TypeName = "json")] + public Extent[] Extents { get; set; } [Required] public virtual Dump Dump { get; set; } } diff --git a/Marechai.Database/Models/FileDataStream.cs b/Marechai.Database/Models/FileDataStream.cs index cdda4f7f..9be2e928 100644 --- a/Marechai.Database/Models/FileDataStream.cs +++ b/Marechai.Database/Models/FileDataStream.cs @@ -34,5 +34,7 @@ namespace Marechai.Database.Models public ulong Size { get; set; } [Required] public virtual DbFile File { get; set; } + + public ulong FileId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/FileDataStreamsByMediaFile.cs b/Marechai.Database/Models/FileDataStreamsByMediaFile.cs index e08c046e..d5a012a2 100644 --- a/Marechai.Database/Models/FileDataStreamsByMediaFile.cs +++ b/Marechai.Database/Models/FileDataStreamsByMediaFile.cs @@ -33,5 +33,8 @@ namespace Marechai.Database.Models public virtual FileDataStream FileDataStream { get; set; } [Required] public virtual MediaFile MediaFile { get; set; } + + public ulong FileDataStreamId { get; set; } + public ulong MediaFileId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/FileDataStreamsByStandaloneFile.cs b/Marechai.Database/Models/FileDataStreamsByStandaloneFile.cs index b72d552f..a0d1dbe0 100644 --- a/Marechai.Database/Models/FileDataStreamsByStandaloneFile.cs +++ b/Marechai.Database/Models/FileDataStreamsByStandaloneFile.cs @@ -33,5 +33,8 @@ namespace Marechai.Database.Models public virtual FileDataStream FileDataStream { get; set; } [Required] public virtual StandaloneFile StandaloneFile { get; set; } + + public ulong FileDataStreamId { get; set; } + public ulong StandaloneFileId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/FilesByFilesystem.cs b/Marechai.Database/Models/FilesByFilesystem.cs index 688d147f..9cc3955f 100644 --- a/Marechai.Database/Models/FilesByFilesystem.cs +++ b/Marechai.Database/Models/FilesByFilesystem.cs @@ -33,5 +33,8 @@ namespace Marechai.Database.Models public virtual Filesystem Filesystem { get; set; } [Required] public virtual MediaFile File { get; set; } + + public ulong FilesystemId { get; set; } + public ulong FileId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/MarechaiContext.cs b/Marechai.Database/Models/MarechaiContext.cs index 01d1c2bd..bc6ff891 100644 --- a/Marechai.Database/Models/MarechaiContext.cs +++ b/Marechai.Database/Models/MarechaiContext.cs @@ -23,6 +23,7 @@ // Copyright © 2003-2020 Natalia Portillo *******************************************************************************/ +using System; using System.Collections.Generic; using System.Threading.Tasks; using Marechai.Database.Schemas; @@ -141,7 +142,7 @@ namespace Marechai.Database.Models IConfigurationBuilder builder = new ConfigurationBuilder().AddJsonFile("appsettings.json"); IConfigurationRoot configuration = builder.Build(); - optionsBuilder.UseMySql(configuration.GetConnectionString("DefaultConnection")).UseLazyLoadingProxies(); + optionsBuilder.UseMySql(configuration.GetConnectionString("DefaultConnection"), new MariaDbServerVersion(new Version(10, 5, 0)), b=> b.UseMicrosoftJson()).UseLazyLoadingProxies(); } public async Task SaveChangesWithUserAsync(string userId) @@ -237,7 +238,7 @@ namespace Marechai.Database.Models entity.HasIndex(e => e.CountryId); - entity.HasIndex(e => e.Synopsis).ForMySqlIsFullText(); + entity.HasIndex(e => e.Synopsis).IsFullText(); entity.HasIndex(e => e.Isbn); @@ -280,15 +281,15 @@ namespace Marechai.Database.Models { entity.ToTable("browser_tests"); - entity.HasIndex(e => e.Browser).HasName("idx_browser_tests_browser"); + entity.HasIndex(e => e.Browser).HasDatabaseName("idx_browser_tests_browser"); - entity.HasIndex(e => e.Os).HasName("idx_browser_tests_os"); + entity.HasIndex(e => e.Os).HasDatabaseName("idx_browser_tests_os"); - entity.HasIndex(e => e.Platform).HasName("idx_browser_tests_platform"); + entity.HasIndex(e => e.Platform).HasDatabaseName("idx_browser_tests_platform"); - entity.HasIndex(e => e.UserAgent).HasName("idx_browser_tests_user_agent"); + entity.HasIndex(e => e.UserAgent).HasDatabaseName("idx_browser_tests_user_agent"); - entity.HasIndex(e => e.Version).HasName("idx_browser_tests_version"); + entity.HasIndex(e => e.Version).HasDatabaseName("idx_browser_tests_version"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -394,31 +395,31 @@ namespace Marechai.Database.Models { entity.ToTable("companies"); - entity.HasIndex(e => e.Address).HasName("idx_companies_address"); + entity.HasIndex(e => e.Address).HasDatabaseName("idx_companies_address"); - entity.HasIndex(e => e.City).HasName("idx_companies_city"); + entity.HasIndex(e => e.City).HasDatabaseName("idx_companies_city"); - entity.HasIndex(e => e.CountryId).HasName("idx_companies_country"); + entity.HasIndex(e => e.CountryId).HasDatabaseName("idx_companies_country"); - entity.HasIndex(e => e.Facebook).HasName("idx_companies_facebook"); + entity.HasIndex(e => e.Facebook).HasDatabaseName("idx_companies_facebook"); - entity.HasIndex(e => e.Founded).HasName("idx_companies_founded"); + entity.HasIndex(e => e.Founded).HasDatabaseName("idx_companies_founded"); - entity.HasIndex(e => e.Name).HasName("idx_companies_name"); + entity.HasIndex(e => e.Name).HasDatabaseName("idx_companies_name"); - entity.HasIndex(e => e.PostalCode).HasName("idx_companies_postal_code"); + entity.HasIndex(e => e.PostalCode).HasDatabaseName("idx_companies_postal_code"); - entity.HasIndex(e => e.Province).HasName("idx_companies_province"); + entity.HasIndex(e => e.Province).HasDatabaseName("idx_companies_province"); - entity.HasIndex(e => e.Sold).HasName("idx_companies_sold"); + entity.HasIndex(e => e.Sold).HasDatabaseName("idx_companies_sold"); - entity.HasIndex(e => e.SoldToId).HasName("idx_companies_sold_to"); + entity.HasIndex(e => e.SoldToId).HasDatabaseName("idx_companies_sold_to"); - entity.HasIndex(e => e.Status).HasName("idx_companies_status"); + entity.HasIndex(e => e.Status).HasDatabaseName("idx_companies_status"); - entity.HasIndex(e => e.Twitter).HasName("idx_companies_twitter"); + entity.HasIndex(e => e.Twitter).HasDatabaseName("idx_companies_twitter"); - entity.HasIndex(e => e.Website).HasName("idx_companies_website"); + entity.HasIndex(e => e.Website).HasDatabaseName("idx_companies_website"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -459,7 +460,7 @@ namespace Marechai.Database.Models HasForeignKey(d => d.CompanyId).OnDelete(DeleteBehavior.SetNull); }); - modelBuilder.Entity().HasIndex(e => e.Text).ForMySqlIsFullText(); + modelBuilder.Entity().HasIndex(e => e.Text).IsFullText(); modelBuilder.Entity(entity => { @@ -472,11 +473,11 @@ namespace Marechai.Database.Models entity.ToTable("company_logos"); - entity.HasIndex(e => e.CompanyId).HasName("idx_company_id"); + entity.HasIndex(e => e.CompanyId).HasDatabaseName("idx_company_id"); - entity.HasIndex(e => e.Id).HasName("idx_id").IsUnique(); + entity.HasIndex(e => e.Id).HasDatabaseName("idx_id").IsUnique(); - entity.HasIndex(e => e.Guid).HasName("idx_guid"); + entity.HasIndex(e => e.Guid).HasDatabaseName("idx_guid"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)").ValueGeneratedOnAdd(); @@ -500,7 +501,7 @@ namespace Marechai.Database.Models entity.HasIndex(e => e.CountryId); - entity.HasIndex(e => e.Synopsis).ForMySqlIsFullText(); + entity.HasIndex(e => e.Synopsis).IsFullText(); entity.HasOne(d => d.Country).WithMany(p => p.Documents).HasForeignKey(d => d.CountryId); }); @@ -565,13 +566,13 @@ namespace Marechai.Database.Models { entity.ToTable("forbidden"); - entity.HasIndex(e => e.Browser).HasName("idx_forbidden_browser"); + entity.HasIndex(e => e.Browser).HasDatabaseName("idx_forbidden_browser"); - entity.HasIndex(e => e.Date).HasName("idx_forbidden_date"); + entity.HasIndex(e => e.Date).HasDatabaseName("idx_forbidden_date"); - entity.HasIndex(e => e.Ip).HasName("idx_forbidden_ip"); + entity.HasIndex(e => e.Ip).HasDatabaseName("idx_forbidden_ip"); - entity.HasIndex(e => e.Referer).HasName("idx_forbidden_referer"); + entity.HasIndex(e => e.Referer).HasDatabaseName("idx_forbidden_referer"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -592,23 +593,23 @@ namespace Marechai.Database.Models { entity.ToTable("gpus"); - entity.HasIndex(e => e.CompanyId).HasName("idx_gpus_company"); + entity.HasIndex(e => e.CompanyId).HasDatabaseName("idx_gpus_company"); - entity.HasIndex(e => e.DieSize).HasName("idx_gpus_die_size"); + entity.HasIndex(e => e.DieSize).HasDatabaseName("idx_gpus_die_size"); - entity.HasIndex(e => e.Introduced).HasName("idx_gpus_introduced"); + entity.HasIndex(e => e.Introduced).HasDatabaseName("idx_gpus_introduced"); - entity.HasIndex(e => e.ModelCode).HasName("idx_gpus_model_code"); + entity.HasIndex(e => e.ModelCode).HasDatabaseName("idx_gpus_model_code"); - entity.HasIndex(e => e.Name).HasName("idx_gpus_name"); + entity.HasIndex(e => e.Name).HasDatabaseName("idx_gpus_name"); - entity.HasIndex(e => e.Package).HasName("idx_gpus_package"); + entity.HasIndex(e => e.Package).HasDatabaseName("idx_gpus_package"); - entity.HasIndex(e => e.Process).HasName("idx_gpus_process"); + entity.HasIndex(e => e.Process).HasDatabaseName("idx_gpus_process"); - entity.HasIndex(e => e.ProcessNm).HasName("idx_gpus_process_nm"); + entity.HasIndex(e => e.ProcessNm).HasDatabaseName("idx_gpus_process_nm"); - entity.HasIndex(e => e.Transistors).HasName("idx_gpus_transistors"); + entity.HasIndex(e => e.Transistors).HasDatabaseName("idx_gpus_transistors"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -639,9 +640,9 @@ namespace Marechai.Database.Models { entity.ToTable("gpus_by_machine"); - entity.HasIndex(e => e.GpuId).HasName("idx_gpus_by_machine_gpus"); + entity.HasIndex(e => e.GpuId).HasDatabaseName("idx_gpus_by_machine_gpus"); - entity.HasIndex(e => e.MachineId).HasName("idx_gpus_by_machine_machine"); + entity.HasIndex(e => e.MachineId).HasDatabaseName("idx_gpus_by_machine_machine"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("bigint(20)"); @@ -685,9 +686,9 @@ namespace Marechai.Database.Models entity.ToTable("instruction_set_extensions_by_processor"); - entity.HasIndex(e => e.ExtensionId).HasName("idx_setextension_extension"); + entity.HasIndex(e => e.ExtensionId).HasDatabaseName("idx_setextension_extension"); - entity.HasIndex(e => e.ProcessorId).HasName("idx_setextension_processor"); + entity.HasIndex(e => e.ProcessorId).HasDatabaseName("idx_setextension_processor"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)").ValueGeneratedOnAdd(); @@ -717,7 +718,7 @@ namespace Marechai.Database.Models { entity.ToTable("iso3166_1_numeric"); - entity.HasIndex(e => e.Name).HasName("idx_name"); + entity.HasIndex(e => e.Name).HasDatabaseName("idx_name"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("smallint(3)"); @@ -751,13 +752,13 @@ namespace Marechai.Database.Models { entity.ToTable("log"); - entity.HasIndex(e => e.Browser).HasName("idx_log_browser"); + entity.HasIndex(e => e.Browser).HasDatabaseName("idx_log_browser"); - entity.HasIndex(e => e.Date).HasName("idx_log_date"); + entity.HasIndex(e => e.Date).HasDatabaseName("idx_log_date"); - entity.HasIndex(e => e.Ip).HasName("idx_log_ip"); + entity.HasIndex(e => e.Ip).HasDatabaseName("idx_log_ip"); - entity.HasIndex(e => e.Referer).HasName("idx_log_referer"); + entity.HasIndex(e => e.Referer).HasDatabaseName("idx_log_referer"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -778,9 +779,9 @@ namespace Marechai.Database.Models { entity.ToTable("machine_families"); - entity.HasIndex(e => e.CompanyId).HasName("idx_machine_families_company"); + entity.HasIndex(e => e.CompanyId).HasDatabaseName("idx_machine_families_company"); - entity.HasIndex(e => e.Name).HasName("idx_machine_families_name"); + entity.HasIndex(e => e.Name).HasDatabaseName("idx_machine_families_name"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -796,17 +797,17 @@ namespace Marechai.Database.Models { entity.ToTable("machines"); - entity.HasIndex(e => e.CompanyId).HasName("idx_machines_company"); + entity.HasIndex(e => e.CompanyId).HasDatabaseName("idx_machines_company"); - entity.HasIndex(e => e.FamilyId).HasName("idx_machines_family"); + entity.HasIndex(e => e.FamilyId).HasDatabaseName("idx_machines_family"); - entity.HasIndex(e => e.Introduced).HasName("idx_machines_introduced"); + entity.HasIndex(e => e.Introduced).HasDatabaseName("idx_machines_introduced"); - entity.HasIndex(e => e.Model).HasName("idx_machines_model"); + entity.HasIndex(e => e.Model).HasDatabaseName("idx_machines_model"); - entity.HasIndex(e => e.Name).HasName("idx_machines_name"); + entity.HasIndex(e => e.Name).HasDatabaseName("idx_machines_name"); - entity.HasIndex(e => e.Type).HasName("idx_machines_type"); + entity.HasIndex(e => e.Type).HasDatabaseName("idx_machines_type"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -1015,7 +1016,7 @@ namespace Marechai.Database.Models entity.HasIndex(e => e.CountryId); - entity.HasIndex(e => e.Synopsis).ForMySqlIsFullText(); + entity.HasIndex(e => e.Synopsis).IsFullText(); entity.HasIndex(e => e.Issn); @@ -1065,15 +1066,15 @@ namespace Marechai.Database.Models { entity.ToTable("memory_by_machine"); - entity.HasIndex(e => e.MachineId).HasName("idx_memory_by_machine_machine"); + entity.HasIndex(e => e.MachineId).HasDatabaseName("idx_memory_by_machine_machine"); - entity.HasIndex(e => e.Size).HasName("idx_memory_by_machine_size"); + entity.HasIndex(e => e.Size).HasDatabaseName("idx_memory_by_machine_size"); - entity.HasIndex(e => e.Speed).HasName("idx_memory_by_machine_speed"); + entity.HasIndex(e => e.Speed).HasDatabaseName("idx_memory_by_machine_speed"); - entity.HasIndex(e => e.Type).HasName("idx_memory_by_machine_type"); + entity.HasIndex(e => e.Type).HasDatabaseName("idx_memory_by_machine_type"); - entity.HasIndex(e => e.Usage).HasName("idx_memory_by_machine_usage"); + entity.HasIndex(e => e.Usage).HasDatabaseName("idx_memory_by_machine_usage"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("bigint(20)"); @@ -1110,9 +1111,9 @@ namespace Marechai.Database.Models { entity.ToTable("money_donations"); - entity.HasIndex(e => e.Donator).HasName("idx_money_donations_donator"); + entity.HasIndex(e => e.Donator).HasDatabaseName("idx_money_donations_donator"); - entity.HasIndex(e => e.Quantity).HasName("idx_money_donations_quantity"); + entity.HasIndex(e => e.Quantity).HasDatabaseName("idx_money_donations_quantity"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -1127,11 +1128,11 @@ namespace Marechai.Database.Models { entity.ToTable("news"); - entity.HasIndex(e => e.AddedId).HasName("idx_news_ip"); + entity.HasIndex(e => e.AddedId).HasDatabaseName("idx_news_ip"); - entity.HasIndex(e => e.Date).HasName("idx_news_date"); + entity.HasIndex(e => e.Date).HasDatabaseName("idx_news_date"); - entity.HasIndex(e => e.Type).HasName("idx_news_type"); + entity.HasIndex(e => e.Type).HasDatabaseName("idx_news_type"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -1227,55 +1228,55 @@ namespace Marechai.Database.Models { entity.ToTable("processors"); - entity.HasIndex(e => e.AddrBus).HasName("idx_processors_addr_bus"); + entity.HasIndex(e => e.AddrBus).HasDatabaseName("idx_processors_addr_bus"); - entity.HasIndex(e => e.CompanyId).HasName("idx_processors_company"); + entity.HasIndex(e => e.CompanyId).HasDatabaseName("idx_processors_company"); - entity.HasIndex(e => e.Cores).HasName("idx_processors_cores"); + entity.HasIndex(e => e.Cores).HasDatabaseName("idx_processors_cores"); - entity.HasIndex(e => e.DataBus).HasName("idx_processors_data_bus"); + entity.HasIndex(e => e.DataBus).HasDatabaseName("idx_processors_data_bus"); - entity.HasIndex(e => e.DieSize).HasName("idx_processors_die_size"); + entity.HasIndex(e => e.DieSize).HasDatabaseName("idx_processors_die_size"); - entity.HasIndex(e => e.FprSize).HasName("idx_processors_FPR_size"); + entity.HasIndex(e => e.FprSize).HasDatabaseName("idx_processors_FPR_size"); - entity.HasIndex(e => e.Fprs).HasName("idx_processors_FPRs"); + entity.HasIndex(e => e.Fprs).HasDatabaseName("idx_processors_FPRs"); - entity.HasIndex(e => e.GprSize).HasName("idx_processors_GPR_size"); + entity.HasIndex(e => e.GprSize).HasDatabaseName("idx_processors_GPR_size"); - entity.HasIndex(e => e.Gprs).HasName("idx_processors_GPRs"); + entity.HasIndex(e => e.Gprs).HasDatabaseName("idx_processors_GPRs"); - entity.HasIndex(e => e.InstructionSetId).HasName("idx_processors_instruction_set"); + entity.HasIndex(e => e.InstructionSetId).HasDatabaseName("idx_processors_instruction_set"); - entity.HasIndex(e => e.Introduced).HasName("idx_processors_introduced"); + entity.HasIndex(e => e.Introduced).HasDatabaseName("idx_processors_introduced"); - entity.HasIndex(e => e.L1Data).HasName("idx_processors_L1_data"); + entity.HasIndex(e => e.L1Data).HasDatabaseName("idx_processors_L1_data"); - entity.HasIndex(e => e.L1Instruction).HasName("idx_processors_L1_instruction"); + entity.HasIndex(e => e.L1Instruction).HasDatabaseName("idx_processors_L1_instruction"); - entity.HasIndex(e => e.L2).HasName("idx_processors_L2"); + entity.HasIndex(e => e.L2).HasDatabaseName("idx_processors_L2"); - entity.HasIndex(e => e.L3).HasName("idx_processors_L3"); + entity.HasIndex(e => e.L3).HasDatabaseName("idx_processors_L3"); - entity.HasIndex(e => e.ModelCode).HasName("idx_processors_model_code"); + entity.HasIndex(e => e.ModelCode).HasDatabaseName("idx_processors_model_code"); - entity.HasIndex(e => e.Name).HasName("idx_processors_name"); + entity.HasIndex(e => e.Name).HasDatabaseName("idx_processors_name"); - entity.HasIndex(e => e.Package).HasName("idx_processors_package"); + entity.HasIndex(e => e.Package).HasDatabaseName("idx_processors_package"); - entity.HasIndex(e => e.Process).HasName("idx_processors_process"); + entity.HasIndex(e => e.Process).HasDatabaseName("idx_processors_process"); - entity.HasIndex(e => e.ProcessNm).HasName("idx_processors_process_nm"); + entity.HasIndex(e => e.ProcessNm).HasDatabaseName("idx_processors_process_nm"); - entity.HasIndex(e => e.SimdRegisters).HasName("idx_processors_SIMD_registers"); + entity.HasIndex(e => e.SimdRegisters).HasDatabaseName("idx_processors_SIMD_registers"); - entity.HasIndex(e => e.SimdSize).HasName("idx_processors_SIMD_size"); + entity.HasIndex(e => e.SimdSize).HasDatabaseName("idx_processors_SIMD_size"); - entity.HasIndex(e => e.Speed).HasName("idx_processors_speed"); + entity.HasIndex(e => e.Speed).HasDatabaseName("idx_processors_speed"); - entity.HasIndex(e => e.ThreadsPerCore).HasName("idx_processors_threads_per_core"); + entity.HasIndex(e => e.ThreadsPerCore).HasDatabaseName("idx_processors_threads_per_core"); - entity.HasIndex(e => e.Transistors).HasName("idx_processors_transistors"); + entity.HasIndex(e => e.Transistors).HasDatabaseName("idx_processors_transistors"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -1337,11 +1338,11 @@ namespace Marechai.Database.Models { entity.ToTable("processors_by_machine"); - entity.HasIndex(e => e.MachineId).HasName("idx_processors_by_machine_machine"); + entity.HasIndex(e => e.MachineId).HasDatabaseName("idx_processors_by_machine_machine"); - entity.HasIndex(e => e.ProcessorId).HasName("idx_processors_by_machine_processor"); + entity.HasIndex(e => e.ProcessorId).HasDatabaseName("idx_processors_by_machine_processor"); - entity.HasIndex(e => e.Speed).HasName("idx_processors_by_machine_speed"); + entity.HasIndex(e => e.Speed).HasDatabaseName("idx_processors_by_machine_speed"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("bigint(20)"); @@ -1373,26 +1374,26 @@ namespace Marechai.Database.Models { entity.ToTable("resolutions"); - entity.HasIndex(e => e.Colors).HasName("idx_resolutions_colors"); + entity.HasIndex(e => e.Colors).HasDatabaseName("idx_resolutions_colors"); - entity.HasIndex(e => e.Height).HasName("idx_resolutions_height"); + entity.HasIndex(e => e.Height).HasDatabaseName("idx_resolutions_height"); - entity.HasIndex(e => e.Palette).HasName("idx_resolutions_palette"); + entity.HasIndex(e => e.Palette).HasDatabaseName("idx_resolutions_palette"); - entity.HasIndex(e => e.Width).HasName("idx_resolutions_width"); + entity.HasIndex(e => e.Width).HasDatabaseName("idx_resolutions_width"); entity.HasIndex(e => new { e.Width, e.Height - }).HasName("idx_resolutions_resolution"); + }).HasDatabaseName("idx_resolutions_resolution"); entity.HasIndex(e => new { e.Width, e.Height, e.Colors - }).HasName("idx_resolutions_resolution_with_color"); + }).HasDatabaseName("idx_resolutions_resolution_with_color"); entity.HasIndex(e => new { @@ -1400,7 +1401,7 @@ namespace Marechai.Database.Models e.Height, e.Colors, e.Palette - }).HasName("idx_resolutions_resolution_with_color_and_palette"); + }).HasDatabaseName("idx_resolutions_resolution_with_color_and_palette"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -1421,9 +1422,9 @@ namespace Marechai.Database.Models { entity.ToTable("resolutions_by_gpu"); - entity.HasIndex(e => e.GpuId).HasName("idx_resolutions_by_gpu_gpu"); + entity.HasIndex(e => e.GpuId).HasDatabaseName("idx_resolutions_by_gpu_gpu"); - entity.HasIndex(e => e.ResolutionId).HasName("idx_resolutions_by_gpu_resolution"); + entity.HasIndex(e => e.ResolutionId).HasDatabaseName("idx_resolutions_by_gpu_resolution"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("bigint(20)"); @@ -1471,9 +1472,9 @@ namespace Marechai.Database.Models { entity.ToTable("sound_by_machine"); - entity.HasIndex(e => e.MachineId).HasName("idx_sound_by_machine_machine"); + entity.HasIndex(e => e.MachineId).HasDatabaseName("idx_sound_by_machine_machine"); - entity.HasIndex(e => e.SoundSynthId).HasName("idx_sound_by_machine_sound_synth"); + entity.HasIndex(e => e.SoundSynthId).HasDatabaseName("idx_sound_by_machine_sound_synth"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("bigint(20)"); @@ -1501,25 +1502,25 @@ namespace Marechai.Database.Models { entity.ToTable("sound_synths"); - entity.HasIndex(e => e.CompanyId).HasName("idx_sound_synths_company"); + entity.HasIndex(e => e.CompanyId).HasDatabaseName("idx_sound_synths_company"); - entity.HasIndex(e => e.Depth).HasName("idx_sound_synths_depth"); + entity.HasIndex(e => e.Depth).HasDatabaseName("idx_sound_synths_depth"); - entity.HasIndex(e => e.Frequency).HasName("idx_sound_synths_frequency"); + entity.HasIndex(e => e.Frequency).HasDatabaseName("idx_sound_synths_frequency"); - entity.HasIndex(e => e.Introduced).HasName("idx_sound_synths_introduced"); + entity.HasIndex(e => e.Introduced).HasDatabaseName("idx_sound_synths_introduced"); - entity.HasIndex(e => e.ModelCode).HasName("idx_sound_synths_model_code"); + entity.HasIndex(e => e.ModelCode).HasDatabaseName("idx_sound_synths_model_code"); - entity.HasIndex(e => e.Name).HasName("idx_sound_synths_name"); + entity.HasIndex(e => e.Name).HasDatabaseName("idx_sound_synths_name"); - entity.HasIndex(e => e.SquareWave).HasName("idx_sound_synths_square_wave"); + entity.HasIndex(e => e.SquareWave).HasDatabaseName("idx_sound_synths_square_wave"); - entity.HasIndex(e => e.Type).HasName("idx_sound_synths_type"); + entity.HasIndex(e => e.Type).HasDatabaseName("idx_sound_synths_type"); - entity.HasIndex(e => e.Voices).HasName("idx_sound_synths_voices"); + entity.HasIndex(e => e.Voices).HasDatabaseName("idx_sound_synths_voices"); - entity.HasIndex(e => e.WhiteNoise).HasName("idx_sound_synths_white_noise"); + entity.HasIndex(e => e.WhiteNoise).HasDatabaseName("idx_sound_synths_white_noise"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("int(11)"); @@ -1552,13 +1553,13 @@ namespace Marechai.Database.Models { entity.ToTable("storage_by_machine"); - entity.HasIndex(e => e.Capacity).HasName("idx_storage_capacity"); + entity.HasIndex(e => e.Capacity).HasDatabaseName("idx_storage_capacity"); - entity.HasIndex(e => e.Interface).HasName("idx_storage_interface"); + entity.HasIndex(e => e.Interface).HasDatabaseName("idx_storage_interface"); - entity.HasIndex(e => e.MachineId).HasName("idx_storage_machine"); + entity.HasIndex(e => e.MachineId).HasDatabaseName("idx_storage_machine"); - entity.HasIndex(e => e.Type).HasName("idx_storage_type"); + entity.HasIndex(e => e.Type).HasDatabaseName("idx_storage_type"); entity.Property(e => e.Id).HasColumnName("id").HasColumnType("bigint(20)"); diff --git a/Marechai.Database/Models/Media.cs b/Marechai.Database/Models/Media.cs index 263f5276..39328c0d 100644 --- a/Marechai.Database/Models/Media.cs +++ b/Marechai.Database/Models/Media.cs @@ -23,9 +23,9 @@ // Copyright © 2003-2020 Natalia Portillo *******************************************************************************/ -using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; using Aaru.CommonTypes; namespace Marechai.Database.Models @@ -33,32 +33,34 @@ namespace Marechai.Database.Models public class Media : BaseModel { [Required] - public string Title { get; set; } - public ushort? Sequence { get; set; } - public ushort? LastSequence { get; set; } - public MediaType Type { get; set; } - public int? WriteOffset { get; set; } - public ushort? Sides { get; set; } - public ushort? Layers { get; set; } - public ushort? Sessions { get; set; } - public ushort? Tracks { get; set; } - public ulong Sectors { get; set; } - public ulong Size { get; set; } - public string CopyProtection { get; set; } - public string PartNumber { get; set; } - public string SerialNumber { get; set; } - public string Barcode { get; set; } - public string CatalogueNumber { get; set; } - public string Manufacturer { get; set; } - public string Model { get; set; } - public string Revision { get; set; } - public string Firmware { get; set; } - public int? PhysicalBlockSize { get; set; } - public int? LogicalBlockSize { get; set; } - public JsonObject BlockSizes { get; set; } - public StorageInterface? StorageInterface { get; set; } - public JsonObject TableOfContents { get; set; } - public virtual MagazineIssue MagazineIssue { get; set; } + public string Title { get; set; } + public ushort? Sequence { get; set; } + public ushort? LastSequence { get; set; } + public MediaType Type { get; set; } + public int? WriteOffset { get; set; } + public ushort? Sides { get; set; } + public ushort? Layers { get; set; } + public ushort? Sessions { get; set; } + public ushort? Tracks { get; set; } + public ulong Sectors { get; set; } + public ulong Size { get; set; } + public string CopyProtection { get; set; } + public string PartNumber { get; set; } + public string SerialNumber { get; set; } + public string Barcode { get; set; } + public string CatalogueNumber { get; set; } + public string Manufacturer { get; set; } + public string Model { get; set; } + public string Revision { get; set; } + public string Firmware { get; set; } + public int? PhysicalBlockSize { get; set; } + public int? LogicalBlockSize { get; set; } + [Column(TypeName = "json")] + public VariableBlockSize[] BlockSizes { get; set; } + public StorageInterface? StorageInterface { get; set; } + [Column(TypeName = "json")] + public OpticalDiscTrack[] TableOfContents { get; set; } + public virtual MagazineIssue MagazineIssue { get; set; } public virtual ICollection LogicalPartitions { get; set; } public virtual ICollection MediaDumps { get; set; } diff --git a/Marechai.Database/Models/MediaTagDump.cs b/Marechai.Database/Models/MediaTagDump.cs index a7cd7b12..dcfa91ec 100644 --- a/Marechai.Database/Models/MediaTagDump.cs +++ b/Marechai.Database/Models/MediaTagDump.cs @@ -10,5 +10,7 @@ namespace Marechai.Database.Models public MediaTagType Type { get; set; } [Required] public virtual DbFile File { get; set; } + + public ulong FileId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/PeopleBySoftwareFamily.cs b/Marechai.Database/Models/PeopleBySoftwareFamily.cs index b46e7399..81e34d13 100644 --- a/Marechai.Database/Models/PeopleBySoftwareFamily.cs +++ b/Marechai.Database/Models/PeopleBySoftwareFamily.cs @@ -24,6 +24,7 @@ *******************************************************************************/ using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; namespace Marechai.Database.Models { @@ -35,5 +36,8 @@ namespace Marechai.Database.Models public virtual Person Person { get; set; } [Required] public virtual SoftwareFamily SoftwareFamily { get; set; } + + [Column(TypeName = "char(3)"), Required] + public string RoleId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/PeopleBySoftwareVariant.cs b/Marechai.Database/Models/PeopleBySoftwareVariant.cs index 8f2ef3a6..a22868bb 100644 --- a/Marechai.Database/Models/PeopleBySoftwareVariant.cs +++ b/Marechai.Database/Models/PeopleBySoftwareVariant.cs @@ -24,6 +24,7 @@ *******************************************************************************/ using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; namespace Marechai.Database.Models { @@ -35,5 +36,8 @@ namespace Marechai.Database.Models public virtual Person Person { get; set; } [Required] public virtual DocumentRole Role { get; set; } + + [Column(TypeName = "char(3)"), Required] + public string RoleId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/PeopleBySoftwareVersion.cs b/Marechai.Database/Models/PeopleBySoftwareVersion.cs index d05ecb5c..41096d33 100644 --- a/Marechai.Database/Models/PeopleBySoftwareVersion.cs +++ b/Marechai.Database/Models/PeopleBySoftwareVersion.cs @@ -24,6 +24,7 @@ *******************************************************************************/ using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; namespace Marechai.Database.Models { @@ -35,5 +36,8 @@ namespace Marechai.Database.Models public virtual Person Person { get; set; } [Required] public virtual DocumentRole Role { get; set; } + + [Column(TypeName = "char(3)"), Required] + public string RoleId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/RequiredOperatingSystemsBySofwareVariant.cs b/Marechai.Database/Models/RequiredOperatingSystemsBySofwareVariant.cs index 3538dbde..db382207 100644 --- a/Marechai.Database/Models/RequiredOperatingSystemsBySofwareVariant.cs +++ b/Marechai.Database/Models/RequiredOperatingSystemsBySofwareVariant.cs @@ -33,5 +33,8 @@ namespace Marechai.Database.Models public virtual SoftwareVersion OperatingSystem { get; set; } [Required] public virtual SoftwareVariant SoftwareVariant { get; set; } + + public ulong OperatingSystemId { get; set; } + public ulong SoftwareVariantId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/RequiredSoftwareBySoftwareVariant.cs b/Marechai.Database/Models/RequiredSoftwareBySoftwareVariant.cs index fde142bf..40b933d2 100644 --- a/Marechai.Database/Models/RequiredSoftwareBySoftwareVariant.cs +++ b/Marechai.Database/Models/RequiredSoftwareBySoftwareVariant.cs @@ -33,5 +33,8 @@ namespace Marechai.Database.Models public virtual SoftwareVersion SoftwareVersion { get; set; } [Required] public virtual SoftwareVariant SoftwareVariant { get; set; } + + public ulong SoftwareVersionId { get; set; } + public ulong SoftwareVariantId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Models/SoftwareVariantByCompilationMedia.cs b/Marechai.Database/Models/SoftwareVariantByCompilationMedia.cs index 19f87349..17265531 100644 --- a/Marechai.Database/Models/SoftwareVariantByCompilationMedia.cs +++ b/Marechai.Database/Models/SoftwareVariantByCompilationMedia.cs @@ -37,5 +37,8 @@ namespace Marechai.Database.Models public virtual SoftwareVariant SoftwareVariant { get; set; } [Required] public virtual Media Media { get; set; } + + public ulong SoftwareVariantId { get; set; } + public ulong MediaId { get; set; } } } \ No newline at end of file diff --git a/Marechai.Database/Mysql.cs b/Marechai.Database/Mysql.cs index 83d0b381..0c01cfaf 100644 --- a/Marechai.Database/Mysql.cs +++ b/Marechai.Database/Mysql.cs @@ -25,7 +25,7 @@ using System; using System.Data; -using MySql.Data.MySqlClient; +using MySqlConnector; namespace Marechai.Database { diff --git a/Marechai.Database/Seeders/Iso4217.cs b/Marechai.Database/Seeders/Iso4217.cs index 219a884f..2acf5a76 100644 --- a/Marechai.Database/Seeders/Iso4217.cs +++ b/Marechai.Database/Seeders/Iso4217.cs @@ -58,7 +58,7 @@ namespace Marechai.Database.Seeders codes.Current = listOne.Current; } } - catch(Exception e) + catch(Exception) { Console.WriteLine("Exception trying to read list one."); } @@ -77,7 +77,7 @@ namespace Marechai.Database.Seeders codes.Historical = listThree.Historical; } } - catch(Exception e) + catch(Exception) { Console.WriteLine("Exception trying to read list three."); } diff --git a/Marechai/Directory.Build.props b/Marechai/Directory.Build.props new file mode 100644 index 00000000..a247b771 --- /dev/null +++ b/Marechai/Directory.Build.props @@ -0,0 +1,9 @@ + + + + + 0.1.189-* + all + + + \ No newline at end of file diff --git a/Marechai/Helpers/SvgRender.cs b/Marechai/Helpers/SvgRender.cs index 01746ed8..5564f63c 100644 --- a/Marechai/Helpers/SvgRender.cs +++ b/Marechai/Helpers/SvgRender.cs @@ -213,7 +213,7 @@ namespace Marechai.Helpers float svgMax = Math.Max(svgSize.Width, svgSize.Height); float canvasMin = minSize * multiplier; float scale = canvasMin / svgMax; - var matrix = SKMatrix.MakeScale(scale, scale); + var matrix = SKMatrix.CreateScale(scale, scale); var bitmap = new SKBitmap((int)(svgSize.Width * scale), (int)(svgSize.Height * scale)); var canvas = new SKCanvas(bitmap); canvas.Clear(); diff --git a/Marechai/Interop/Version.cs b/Marechai/Interop/Version.cs index 5d14ef64..07abf341 100644 --- a/Marechai/Interop/Version.cs +++ b/Marechai/Interop/Version.cs @@ -52,7 +52,7 @@ namespace DiscImageChef.Interop { Assembly assembly = typeof(GCSettings).Assembly; - string[] assemblyPath = assembly.CodeBase.Split(new[] + string[] assemblyPath = assembly.Location.Split(new[] { '/', '\\' }, StringSplitOptions.RemoveEmptyEntries); diff --git a/Marechai/Marechai.csproj b/Marechai/Marechai.csproj index 0ec184cd..0a0fc980 100644 --- a/Marechai/Marechai.csproj +++ b/Marechai/Marechai.csproj @@ -15,24 +15,24 @@ true - - - - - - - - + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + - + diff --git a/Marechai/Resources/Services/CurrencyPeggingService.en.resx b/Marechai/Resources/Services/CurrencyPeggingService.en.resx index a92b656f..90c9c841 100644 --- a/Marechai/Resources/Services/CurrencyPeggingService.en.resx +++ b/Marechai/Resources/Services/CurrencyPeggingService.en.resx @@ -89,9 +89,6 @@ Pegging must be bigger than 0. - - Please enter an ending date. - Ending date must be before now. diff --git a/Marechai/Services/MediaService.cs b/Marechai/Services/MediaService.cs index b628eea0..ead6ed66 100644 --- a/Marechai/Services/MediaService.cs +++ b/Marechai/Services/MediaService.cs @@ -65,9 +65,9 @@ namespace Marechai.Services Firmware = d.Firmware, PhysicalBlockSize = d.PhysicalBlockSize, LogicalBlockSize = d.LogicalBlockSize, - BlockSizes = d.BlockSizes.Object, + BlockSizes = d.BlockSizes, StorageInterface = d.StorageInterface, - TableOfContents = d.TableOfContents.Object + TableOfContents = d.TableOfContents }).ToListAsync(); public async Task> GetTitlesAsync() => await _context. @@ -106,11 +106,10 @@ namespace Marechai.Services d.PhysicalBlockSize, LogicalBlockSize = d.LogicalBlockSize, - BlockSizes = d.BlockSizes.Object, + BlockSizes = d.BlockSizes, StorageInterface = d.StorageInterface, - TableOfContents = - d.TableOfContents.Object + TableOfContents = d.TableOfContents }).FirstOrDefaultAsync(); public async Task UpdateAsync(MediaViewModel viewModel, string userId) diff --git a/Marechai/Startup.cs b/Marechai/Startup.cs index 2409a8b9..a10215ba 100644 --- a/Marechai/Startup.cs +++ b/Marechai/Startup.cs @@ -23,6 +23,7 @@ // Copyright © 2003-2020 Natalia Portillo *******************************************************************************/ +using System; using System.Globalization; using Blazorise; using Blazorise.Bootstrap; @@ -48,7 +49,7 @@ namespace Marechai { readonly CultureInfo[] supportedCultures = { - new CultureInfo("en-US"), new CultureInfo("es") + new("en-US"), new("es") }; public Startup(IConfiguration configuration) => Configuration = configuration; @@ -63,8 +64,10 @@ namespace Marechai AddFontAwesomeIcons(); services.AddDbContext(options => options.UseLazyLoadingProxies(). - UseMySql(Configuration. - GetConnectionString("DefaultConnection"))); + UseMySql(Configuration.GetConnectionString("DefaultConnection"), + new MariaDbServerVersion(new Version(10, + 5, 0)), + b => b.UseMicrosoftJson())); services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true). AddRoles().AddEntityFrameworkStores(); @@ -93,7 +96,7 @@ namespace Marechai if(env.IsDevelopment()) { app.UseDeveloperExceptionPage(); - app.UseDatabaseErrorPage(); + app.UseMigrationsEndPoint(); } else { diff --git a/Marechai/_Imports.razor b/Marechai/_Imports.razor index 22054623..17ffb605 100644 --- a/Marechai/_Imports.razor +++ b/Marechai/_Imports.razor @@ -13,4 +13,5 @@ @using System.IO @using Microsoft.AspNetCore.Hosting @using Blazorise -@using Tewr.Blazor.FileReader \ No newline at end of file +@using Tewr.Blazor.FileReader +@using Microsoft.AspNetCore.Components.Web.Virtualization \ No newline at end of file