//
using System;
using Aaru.Server.Database;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace Aaru.Server.Database.Migrations
{
[DbContext(typeof(DbContext))]
[Migration("20250928003741_AddArchiveToStats")]
partial class AddArchiveToStats
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("Proxies:ChangeTracking", false)
.HasAnnotation("Proxies:CheckEquality", false)
.HasAnnotation("Proxies:LazyLoading", true)
.HasAnnotation("Relational:MaxIdentifierLength", 64);
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ata", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Identify")
.HasColumnType("longblob");
b.Property("ReadCapabilitiesId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ReadCapabilitiesId");
b.ToTable("Ata");
});
modelBuilder.Entity("Aaru.CommonTypes.Metadata.BlockDescriptor", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("BlockLength")
.HasColumnType("int unsigned");
b.Property("Blocks")
.HasColumnType("bigint unsigned");
b.Property("Density")
.HasColumnType("tinyint unsigned");
b.Property("ScsiModeId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ScsiModeId");
b.ToTable("BlockDescriptor");
});
modelBuilder.Entity("Aaru.CommonTypes.Metadata.Chs", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Cylinders")
.HasColumnType("smallint unsigned");
b.Property("Heads")
.HasColumnType("smallint unsigned");
b.Property("Sectors")
.HasColumnType("smallint unsigned");
b.HasKey("Id");
b.ToTable("Chs");
});
modelBuilder.Entity("Aaru.CommonTypes.Metadata.DensityCode", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Code")
.HasColumnType("int");
b.Property("SscSupportedMediaId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("SscSupportedMediaId");
b.ToTable("DensityCode");
});
modelBuilder.Entity("Aaru.CommonTypes.Metadata.FireWire", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Manufacturer")
.HasColumnType("longtext");
b.Property("Product")
.HasColumnType("longtext");
b.Property("ProductID")
.HasColumnType("int unsigned");
b.Property("RemovableMedia")
.HasColumnType("tinyint(1)");
b.Property("VendorID")
.HasColumnType("int unsigned");
b.HasKey("Id");
b.ToTable("FireWire");
});
modelBuilder.Entity("Aaru.CommonTypes.Metadata.GdRomSwapDiscCapabilities", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Lba0Data")
.HasColumnType("longblob");
b.Property("Lba0DecodedSense")
.HasColumnType("longtext");
b.Property("Lba0Readable")
.HasColumnType("tinyint(1)");
b.Property("Lba0ScrambledData")
.HasColumnType("longblob");
b.Property("Lba0ScrambledDecodedSense")
.HasColumnType("longtext");
b.Property("Lba0ScrambledReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba0ScrambledSense")
.HasColumnType("longblob");
b.Property("Lba0Sense")
.HasColumnType("longblob");
b.Property("Lba100000AudioData")
.HasColumnType("longblob");
b.Property("Lba100000AudioDecodedSense")
.HasColumnType("longtext");
b.Property("Lba100000AudioPqData")
.HasColumnType("longblob");
b.Property("Lba100000AudioPqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba100000AudioPqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba100000AudioPqReadableCluster")
.HasColumnType("int");
b.Property("Lba100000AudioPqSense")
.HasColumnType("longblob");
b.Property("Lba100000AudioReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba100000AudioReadableCluster")
.HasColumnType("int");
b.Property("Lba100000AudioRwData")
.HasColumnType("longblob");
b.Property("Lba100000AudioRwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba100000AudioRwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba100000AudioRwReadableCluster")
.HasColumnType("int");
b.Property("Lba100000AudioRwSense")
.HasColumnType("longblob");
b.Property("Lba100000AudioSense")
.HasColumnType("longblob");
b.Property("Lba100000Data")
.HasColumnType("longblob");
b.Property("Lba100000DecodedSense")
.HasColumnType("longtext");
b.Property("Lba100000PqData")
.HasColumnType("longblob");
b.Property("Lba100000PqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba100000PqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba100000PqReadableCluster")
.HasColumnType("int");
b.Property("Lba100000PqSense")
.HasColumnType("longblob");
b.Property("Lba100000Readable")
.HasColumnType("tinyint(1)");
b.Property("Lba100000ReadableCluster")
.HasColumnType("int");
b.Property("Lba100000RwData")
.HasColumnType("longblob");
b.Property("Lba100000RwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba100000RwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba100000RwReadableCluster")
.HasColumnType("int");
b.Property("Lba100000RwSense")
.HasColumnType("longblob");
b.Property("Lba100000Sense")
.HasColumnType("longblob");
b.Property("Lba400000AudioData")
.HasColumnType("longblob");
b.Property("Lba400000AudioDecodedSense")
.HasColumnType("longtext");
b.Property("Lba400000AudioPqData")
.HasColumnType("longblob");
b.Property("Lba400000AudioPqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba400000AudioPqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba400000AudioPqReadableCluster")
.HasColumnType("int");
b.Property("Lba400000AudioPqSense")
.HasColumnType("longblob");
b.Property("Lba400000AudioReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba400000AudioReadableCluster")
.HasColumnType("int");
b.Property("Lba400000AudioRwData")
.HasColumnType("longblob");
b.Property("Lba400000AudioRwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba400000AudioRwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba400000AudioRwReadableCluster")
.HasColumnType("int");
b.Property("Lba400000AudioRwSense")
.HasColumnType("longblob");
b.Property("Lba400000AudioSense")
.HasColumnType("longblob");
b.Property("Lba400000Data")
.HasColumnType("longblob");
b.Property("Lba400000DecodedSense")
.HasColumnType("longtext");
b.Property("Lba400000PqData")
.HasColumnType("longblob");
b.Property("Lba400000PqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba400000PqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba400000PqReadableCluster")
.HasColumnType("int");
b.Property("Lba400000PqSense")
.HasColumnType("longblob");
b.Property("Lba400000Readable")
.HasColumnType("tinyint(1)");
b.Property("Lba400000ReadableCluster")
.HasColumnType("int");
b.Property("Lba400000RwData")
.HasColumnType("longblob");
b.Property("Lba400000RwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba400000RwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba400000RwReadableCluster")
.HasColumnType("int");
b.Property("Lba400000RwSense")
.HasColumnType("longblob");
b.Property("Lba400000Sense")
.HasColumnType("longblob");
b.Property("Lba44990AudioData")
.HasColumnType("longblob");
b.Property("Lba44990AudioDecodedSense")
.HasColumnType("longtext");
b.Property("Lba44990AudioPqData")
.HasColumnType("longblob");
b.Property("Lba44990AudioPqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba44990AudioPqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba44990AudioPqReadableCluster")
.HasColumnType("int");
b.Property("Lba44990AudioPqSense")
.HasColumnType("longblob");
b.Property("Lba44990AudioReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba44990AudioReadableCluster")
.HasColumnType("int");
b.Property("Lba44990AudioRwData")
.HasColumnType("longblob");
b.Property("Lba44990AudioRwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba44990AudioRwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba44990AudioRwReadableCluster")
.HasColumnType("int");
b.Property("Lba44990AudioRwSense")
.HasColumnType("longblob");
b.Property("Lba44990AudioSense")
.HasColumnType("longblob");
b.Property("Lba44990Data")
.HasColumnType("longblob");
b.Property("Lba44990DecodedSense")
.HasColumnType("longtext");
b.Property("Lba44990PqData")
.HasColumnType("longblob");
b.Property("Lba44990PqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba44990PqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba44990PqReadableCluster")
.HasColumnType("int");
b.Property("Lba44990PqSense")
.HasColumnType("longblob");
b.Property("Lba44990Readable")
.HasColumnType("tinyint(1)");
b.Property("Lba44990ReadableCluster")
.HasColumnType("int");
b.Property("Lba44990RwData")
.HasColumnType("longblob");
b.Property("Lba44990RwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba44990RwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba44990RwReadableCluster")
.HasColumnType("int");
b.Property("Lba44990RwSense")
.HasColumnType("longblob");
b.Property("Lba44990Sense")
.HasColumnType("longblob");
b.Property("Lba450000AudioData")
.HasColumnType("longblob");
b.Property("Lba450000AudioDecodedSense")
.HasColumnType("longtext");
b.Property("Lba450000AudioPqData")
.HasColumnType("longblob");
b.Property("Lba450000AudioPqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba450000AudioPqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba450000AudioPqReadableCluster")
.HasColumnType("int");
b.Property("Lba450000AudioPqSense")
.HasColumnType("longblob");
b.Property("Lba450000AudioReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba450000AudioReadableCluster")
.HasColumnType("int");
b.Property("Lba450000AudioRwData")
.HasColumnType("longblob");
b.Property("Lba450000AudioRwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba450000AudioRwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba450000AudioRwReadableCluster")
.HasColumnType("int");
b.Property("Lba450000AudioRwSense")
.HasColumnType("longblob");
b.Property("Lba450000AudioSense")
.HasColumnType("longblob");
b.Property("Lba450000Data")
.HasColumnType("longblob");
b.Property("Lba450000DecodedSense")
.HasColumnType("longtext");
b.Property("Lba450000PqData")
.HasColumnType("longblob");
b.Property("Lba450000PqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba450000PqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba450000PqReadableCluster")
.HasColumnType("int");
b.Property("Lba450000PqSense")
.HasColumnType("longblob");
b.Property("Lba450000Readable")
.HasColumnType("tinyint(1)");
b.Property("Lba450000ReadableCluster")
.HasColumnType("int");
b.Property("Lba450000RwData")
.HasColumnType("longblob");
b.Property("Lba450000RwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba450000RwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba450000RwReadableCluster")
.HasColumnType("int");
b.Property("Lba450000RwSense")
.HasColumnType("longblob");
b.Property("Lba450000Sense")
.HasColumnType("longblob");
b.Property("Lba45000AudioData")
.HasColumnType("longblob");
b.Property("Lba45000AudioDecodedSense")
.HasColumnType("longtext");
b.Property("Lba45000AudioPqData")
.HasColumnType("longblob");
b.Property("Lba45000AudioPqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba45000AudioPqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba45000AudioPqReadableCluster")
.HasColumnType("int");
b.Property("Lba45000AudioPqSense")
.HasColumnType("longblob");
b.Property("Lba45000AudioReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba45000AudioReadableCluster")
.HasColumnType("int");
b.Property("Lba45000AudioRwData")
.HasColumnType("longblob");
b.Property("Lba45000AudioRwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba45000AudioRwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba45000AudioRwReadableCluster")
.HasColumnType("int");
b.Property("Lba45000AudioRwSense")
.HasColumnType("longblob");
b.Property("Lba45000AudioSense")
.HasColumnType("longblob");
b.Property("Lba45000Data")
.HasColumnType("longblob");
b.Property("Lba45000DecodedSense")
.HasColumnType("longtext");
b.Property("Lba45000PqData")
.HasColumnType("longblob");
b.Property("Lba45000PqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba45000PqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba45000PqReadableCluster")
.HasColumnType("int");
b.Property("Lba45000PqSense")
.HasColumnType("longblob");
b.Property("Lba45000Readable")
.HasColumnType("tinyint(1)");
b.Property("Lba45000ReadableCluster")
.HasColumnType("int");
b.Property("Lba45000RwData")
.HasColumnType("longblob");
b.Property("Lba45000RwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba45000RwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba45000RwReadableCluster")
.HasColumnType("int");
b.Property("Lba45000RwSense")
.HasColumnType("longblob");
b.Property("Lba45000Sense")
.HasColumnType("longblob");
b.Property("Lba50000AudioData")
.HasColumnType("longblob");
b.Property("Lba50000AudioDecodedSense")
.HasColumnType("longtext");
b.Property("Lba50000AudioPqData")
.HasColumnType("longblob");
b.Property("Lba50000AudioPqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba50000AudioPqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba50000AudioPqReadableCluster")
.HasColumnType("int");
b.Property("Lba50000AudioPqSense")
.HasColumnType("longblob");
b.Property("Lba50000AudioReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba50000AudioReadableCluster")
.HasColumnType("int");
b.Property("Lba50000AudioRwData")
.HasColumnType("longblob");
b.Property("Lba50000AudioRwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba50000AudioRwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba50000AudioRwReadableCluster")
.HasColumnType("int");
b.Property("Lba50000AudioRwSense")
.HasColumnType("longblob");
b.Property("Lba50000AudioSense")
.HasColumnType("longblob");
b.Property("Lba50000Data")
.HasColumnType("longblob");
b.Property("Lba50000DecodedSense")
.HasColumnType("longtext");
b.Property("Lba50000PqData")
.HasColumnType("longblob");
b.Property("Lba50000PqDecodedSense")
.HasColumnType("longtext");
b.Property("Lba50000PqReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba50000PqReadableCluster")
.HasColumnType("int");
b.Property("Lba50000PqSense")
.HasColumnType("longblob");
b.Property("Lba50000Readable")
.HasColumnType("tinyint(1)");
b.Property("Lba50000ReadableCluster")
.HasColumnType("int");
b.Property("Lba50000RwData")
.HasColumnType("longblob");
b.Property("Lba50000RwDecodedSense")
.HasColumnType("longtext");
b.Property("Lba50000RwReadable")
.HasColumnType("tinyint(1)");
b.Property("Lba50000RwReadableCluster")
.HasColumnType("int");
b.Property("Lba50000RwSense")
.HasColumnType("longblob");
b.Property("Lba50000Sense")
.HasColumnType("longblob");
b.Property("MaximumReadablePqInHdArea")
.HasColumnType("longblob");
b.Property("MaximumReadableRwInHdArea")
.HasColumnType("longblob");
b.Property("MaximumReadableSectorInHdArea")
.HasColumnType("int unsigned");
b.Property("MinimumReadableSectorInHdArea")
.HasColumnType("int unsigned");
b.Property("RecognizedSwapDisc")
.HasColumnType("tinyint(1)");
b.Property("SwapDiscLeadOutPFRAM")
.HasColumnType("tinyint unsigned");
b.Property("SwapDiscLeadOutPMIN")
.HasColumnType("tinyint unsigned");
b.Property("SwapDiscLeadOutPSEC")
.HasColumnType("tinyint unsigned");
b.Property("SwapDiscLeadOutStart")
.HasColumnType("int");
b.Property("TestCrashed")
.HasColumnType("tinyint(1)");
b.HasKey("Id");
b.ToTable("GdRomSwapDiscCapabilities");
});
modelBuilder.Entity("Aaru.CommonTypes.Metadata.Mmc", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("FeaturesId")
.HasColumnType("int");
b.Property("ModeSense2AData")
.HasColumnType("longblob");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.ToTable("Mmc");
});
modelBuilder.Entity("Aaru.CommonTypes.Metadata.MmcFeatures", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("AACSVersion")
.HasColumnType("tinyint unsigned");
b.Property("AGIDs")
.HasColumnType("tinyint unsigned");
b.Property("BinaryData")
.HasColumnType("longblob");
b.Property("BindingNonceBlocks")
.HasColumnType("tinyint unsigned");
b.Property("BlocksPerReadableUnit")
.HasColumnType("smallint unsigned");
b.Property("BufferUnderrunFreeInDVD")
.HasColumnType("tinyint(1)");
b.Property("BufferUnderrunFreeInSAO")
.HasColumnType("tinyint(1)");
b.Property("BufferUnderrunFreeInTAO")
.HasColumnType("tinyint(1)");
b.Property("CPRMVersion")
.HasColumnType("tinyint unsigned");
b.Property("CSSVersion")
.HasColumnType("tinyint unsigned");
b.Property("CanAudioScan")
.HasColumnType("tinyint(1)");
b.Property("CanEject")
.HasColumnType("tinyint(1)");
b.Property("CanEraseSector")
.HasColumnType("tinyint(1)");
b.Property("CanExpandBDRESpareArea")
.HasColumnType("tinyint(1)");
b.Property("CanFormat")
.HasColumnType("tinyint(1)");
b.Property("CanFormatBDREWithoutSpare")
.HasColumnType("tinyint(1)");
b.Property("CanFormatCert")
.HasColumnType("tinyint(1)");
b.Property("CanFormatFRF")
.HasColumnType("tinyint(1)");
b.Property("CanFormatQCert")
.HasColumnType("tinyint(1)");
b.Property("CanFormatRRM")
.HasColumnType("tinyint(1)");
b.Property("CanGenerateBindingNonce")
.HasColumnType("tinyint(1)");
b.Property("CanLoad")
.HasColumnType("tinyint(1)");
b.Property