Correct database sets.

This commit is contained in:
2018-11-27 01:41:50 +00:00
parent 68646e64b4
commit 9c83c3d296
6 changed files with 1553 additions and 92 deletions

View File

@@ -298,6 +298,8 @@
<e p="20181126222301_DeviceReportV2.cs" t="Include" />
<e p="20181127001622_AddDeviceBasicFields.Designer.cs" t="Include" />
<e p="20181127001622_AddDeviceBasicFields.cs" t="Include" />
<e p="20181127013131_CorrectReportsDbSet.Designer.cs" t="Include" />
<e p="20181127013131_CorrectReportsDbSet.cs" t="Include" />
<e p="DicContextModelSnapshot.cs" t="Include" />
</e>
<e p="Models" t="Include">

View File

@@ -30,7 +30,6 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
using DiscImageChef.CommonTypes.Metadata;
using DiscImageChef.Database.Models;
using Microsoft.EntityFrameworkCore;
@@ -38,14 +37,14 @@ namespace DiscImageChef.Database
{
public sealed class DicContext : DbContext
{
public DbSet<Device> Devices { get; set; }
public DbSet<DeviceReportV2> Reports { get; set; }
public DicContext()
{
Database.Migrate();
}
public DbSet<Device> Devices { get; set; }
public DbSet<Report> Reports { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=discimagechef.db");

View File

@@ -59,6 +59,10 @@
<Compile Include="Context.cs" />
<Compile Include="Migrations\20181126222301_DeviceReportV2.cs" />
<Compile Include="Migrations\20181126222301_DeviceReportV2.Designer.cs" />
<Compile Include="Migrations\20181127001622_AddDeviceBasicFields.cs" />
<Compile Include="Migrations\20181127001622_AddDeviceBasicFields.Designer.cs" />
<Compile Include="Migrations\20181127013131_CorrectReportsDbSet.cs" />
<Compile Include="Migrations\20181127013131_CorrectReportsDbSet.Designer.cs" />
<Compile Include="Migrations\DicContextModelSnapshot.cs" />
<Compile Include="Models\Device.cs" />
<Compile Include="Models\Report.cs" />

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,133 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DiscImageChef.Database.Migrations
{
public partial class CorrectReportsDbSet : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable("Reports");
migrationBuilder.CreateTable("Reports",
table => new
{
Id =
table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
USBId = table.Column<int>(nullable: true),
FireWireId = table.Column<int>(nullable: true),
PCMCIAId = table.Column<int>(nullable: true),
CompactFlash = table.Column<bool>(nullable: false),
ATAId = table.Column<int>(nullable: true),
ATAPIId = table.Column<int>(nullable: true),
SCSIId = table.Column<int>(nullable: true),
MultiMediaCardId = table.Column<int>(nullable: true),
SecureDigitalId = table.Column<int>(nullable: true),
Manufacturer = table.Column<string>(nullable: true),
Model = table.Column<string>(nullable: true),
Revision = table.Column<string>(nullable: true),
Type = table.Column<int>(nullable: false)
}, constraints: table =>
{
table.PrimaryKey("PK_Devices", x => x.Id);
table.ForeignKey("FK_Reports_Ata_ATAId", x => x.ATAId, "Ata", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Reports_Ata_ATAPIId", x => x.ATAPIId, "Ata", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Reports_FireWire_FireWireId", x => x.FireWireId,
"FireWire", "Id", onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Reports_MmcSd_MultiMediaCardId",
x => x.MultiMediaCardId, "MmcSd", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Reports_Pcmcia_PCMCIAId", x => x.PCMCIAId, "Pcmcia",
"Id", onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Reports_Scsi_SCSIId", x => x.SCSIId, "Scsi", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Reports_MmcSd_SecureDigitalId",
x => x.SecureDigitalId, "MmcSd", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Reports_Usb_USBId", x => x.USBId, "Usb", "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.AddColumn<DateTime>("Created", "Reports", nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0,
DateTimeKind.Unspecified));
migrationBuilder.AddColumn<bool>("Uploaded", "Reports", nullable: false, defaultValue: false);
migrationBuilder.CreateTable("Devices",
table => new
{
Id =
table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
USBId = table.Column<int>(nullable: true),
FireWireId = table.Column<int>(nullable: true),
PCMCIAId = table.Column<int>(nullable: true),
CompactFlash = table.Column<bool>(nullable: false),
ATAId = table.Column<int>(nullable: true),
ATAPIId = table.Column<int>(nullable: true),
SCSIId = table.Column<int>(nullable: true),
MultiMediaCardId = table.Column<int>(nullable: true),
SecureDigitalId = table.Column<int>(nullable: true),
Manufacturer = table.Column<string>(nullable: true),
Model = table.Column<string>(nullable: true),
Revision = table.Column<string>(nullable: true),
Type = table.Column<int>(nullable: false),
LastSynchronized = table.Column<DateTime>(nullable: false)
}, constraints: table =>
{
table.PrimaryKey("PK_Devices", x => x.Id);
table.ForeignKey("FK_Devices_Ata_ATAId", x => x.ATAId, "Ata", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Devices_Ata_ATAPIId", x => x.ATAPIId, "Ata", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Devices_FireWire_FireWireId", x => x.FireWireId,
"FireWire", "Id", onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Devices_MmcSd_MultiMediaCardId",
x => x.MultiMediaCardId, "MmcSd", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Devices_Pcmcia_PCMCIAId", x => x.PCMCIAId, "Pcmcia",
"Id", onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Devices_Scsi_SCSIId", x => x.SCSIId, "Scsi", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Devices_MmcSd_SecureDigitalId",
x => x.SecureDigitalId, "MmcSd", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Devices_Usb_USBId", x => x.USBId, "Usb", "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex("IX_Devices_ATAId", "Devices", "ATAId");
migrationBuilder.CreateIndex("IX_Devices_ATAPIId", "Devices", "ATAPIId");
migrationBuilder.CreateIndex("IX_Devices_FireWireId", "Devices", "FireWireId");
migrationBuilder.CreateIndex("IX_Devices_MultiMediaCardId", "Devices", "MultiMediaCardId");
migrationBuilder.CreateIndex("IX_Devices_PCMCIAId", "Devices", "PCMCIAId");
migrationBuilder.CreateIndex("IX_Devices_SCSIId", "Devices", "SCSIId");
migrationBuilder.CreateIndex("IX_Devices_SecureDigitalId", "Devices", "SecureDigitalId");
migrationBuilder.CreateIndex("IX_Devices_USBId", "Devices", "USBId");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable("Devices");
migrationBuilder.DropColumn("Created", "Reports");
migrationBuilder.DropColumn("Uploaded", "Reports");
migrationBuilder.AddColumn<string>("Discriminator", "Reports", nullable: false, defaultValue: "");
migrationBuilder.AddColumn<DateTime>("LastSynchronized", "Reports", nullable: true);
}
}
}

View File

@@ -76,61 +76,6 @@ namespace DiscImageChef.Database.Migrations
b.ToTable("DensityCode");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.DeviceReportV2", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd();
b.Property<int?>("ATAId");
b.Property<int?>("ATAPIId");
b.Property<bool>("CompactFlash");
b.Property<string>("Discriminator").IsRequired();
b.Property<int?>("FireWireId");
b.Property<string>("Manufacturer");
b.Property<string>("Model");
b.Property<int?>("MultiMediaCardId");
b.Property<int?>("PCMCIAId");
b.Property<string>("Revision");
b.Property<int?>("SCSIId");
b.Property<int?>("SecureDigitalId");
b.Property<int>("Type");
b.Property<int?>("USBId");
b.HasKey("Id");
b.HasIndex("ATAId");
b.HasIndex("ATAPIId");
b.HasIndex("FireWireId");
b.HasIndex("MultiMediaCardId");
b.HasIndex("PCMCIAId");
b.HasIndex("SCSIId");
b.HasIndex("SecureDigitalId");
b.HasIndex("USBId");
b.ToTable("Reports");
b.HasDiscriminator<string>("Discriminator").HasValue("DeviceReportV2");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.FireWire", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd();
@@ -879,6 +824,114 @@ namespace DiscImageChef.Database.Migrations
b.ToTable("Usb");
});
modelBuilder.Entity("DiscImageChef.Database.Models.Device", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd();
b.Property<int?>("ATAId");
b.Property<int?>("ATAPIId");
b.Property<bool>("CompactFlash");
b.Property<int?>("FireWireId");
b.Property<DateTime>("LastSynchronized");
b.Property<string>("Manufacturer");
b.Property<string>("Model");
b.Property<int?>("MultiMediaCardId");
b.Property<int?>("PCMCIAId");
b.Property<string>("Revision");
b.Property<int?>("SCSIId");
b.Property<int?>("SecureDigitalId");
b.Property<int>("Type");
b.Property<int?>("USBId");
b.HasKey("Id");
b.HasIndex("ATAId");
b.HasIndex("ATAPIId");
b.HasIndex("FireWireId");
b.HasIndex("MultiMediaCardId");
b.HasIndex("PCMCIAId");
b.HasIndex("SCSIId");
b.HasIndex("SecureDigitalId");
b.HasIndex("USBId");
b.ToTable("Devices");
});
modelBuilder.Entity("DiscImageChef.Database.Models.Report", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd();
b.Property<int?>("ATAId");
b.Property<int?>("ATAPIId");
b.Property<bool>("CompactFlash");
b.Property<DateTime>("Created");
b.Property<int?>("FireWireId");
b.Property<string>("Manufacturer");
b.Property<string>("Model");
b.Property<int?>("MultiMediaCardId");
b.Property<int?>("PCMCIAId");
b.Property<string>("Revision");
b.Property<int?>("SCSIId");
b.Property<int?>("SecureDigitalId");
b.Property<int>("Type");
b.Property<int?>("USBId");
b.Property<bool>("Uploaded");
b.HasKey("Id");
b.HasIndex("ATAId");
b.HasIndex("ATAPIId");
b.HasIndex("FireWireId");
b.HasIndex("MultiMediaCardId");
b.HasIndex("PCMCIAId");
b.HasIndex("SCSIId");
b.HasIndex("SecureDigitalId");
b.HasIndex("USBId");
b.ToTable("Reports");
});
modelBuilder.Entity("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd();
@@ -992,17 +1045,6 @@ namespace DiscImageChef.Database.Migrations
b.ToTable("ModePage_2A");
});
modelBuilder.Entity("DiscImageChef.Database.Models.Device", b =>
{
b.HasBaseType("DiscImageChef.CommonTypes.Metadata.DeviceReportV2");
b.Property<DateTime>("LastSynchronized");
b.ToTable("Device");
b.HasDiscriminator().HasValue("Device");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Ata",
b =>
{
@@ -1024,28 +1066,6 @@ namespace DiscImageChef.Database.Migrations
.WithMany("DensityCodes").HasForeignKey("SscSupportedMediaId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.DeviceReportV2", b =>
{
b.HasOne("DiscImageChef.CommonTypes.Metadata.Ata", "ATA").WithMany().HasForeignKey("ATAId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Ata", "ATAPI").WithMany().HasForeignKey("ATAPIId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.FireWire", "FireWire").WithMany()
.HasForeignKey("FireWireId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcSd", "MultiMediaCard").WithMany()
.HasForeignKey("MultiMediaCardId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Pcmcia", "PCMCIA").WithMany().HasForeignKey("PCMCIAId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Scsi", "SCSI").WithMany().HasForeignKey("SCSIId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcSd", "SecureDigital").WithMany()
.HasForeignKey("SecureDigitalId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Usb", "USB").WithMany().HasForeignKey("USBId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Mmc", b =>
{
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features").WithMany()
@@ -1116,6 +1136,50 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.Ssc").WithMany("TestedMedia")
.HasForeignKey("SscId");
});
modelBuilder.Entity("DiscImageChef.Database.Models.Device", b =>
{
b.HasOne("DiscImageChef.CommonTypes.Metadata.Ata", "ATA").WithMany().HasForeignKey("ATAId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Ata", "ATAPI").WithMany().HasForeignKey("ATAPIId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.FireWire", "FireWire").WithMany()
.HasForeignKey("FireWireId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcSd", "MultiMediaCard").WithMany()
.HasForeignKey("MultiMediaCardId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Pcmcia", "PCMCIA").WithMany().HasForeignKey("PCMCIAId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Scsi", "SCSI").WithMany().HasForeignKey("SCSIId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcSd", "SecureDigital").WithMany()
.HasForeignKey("SecureDigitalId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Usb", "USB").WithMany().HasForeignKey("USBId");
});
modelBuilder.Entity("DiscImageChef.Database.Models.Report", b =>
{
b.HasOne("DiscImageChef.CommonTypes.Metadata.Ata", "ATA").WithMany().HasForeignKey("ATAId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Ata", "ATAPI").WithMany().HasForeignKey("ATAPIId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.FireWire", "FireWire").WithMany()
.HasForeignKey("FireWireId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcSd", "MultiMediaCard").WithMany()
.HasForeignKey("MultiMediaCardId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Pcmcia", "PCMCIA").WithMany().HasForeignKey("PCMCIAId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Scsi", "SCSI").WithMany().HasForeignKey("SCSIId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcSd", "SecureDigital").WithMany()
.HasForeignKey("SecureDigitalId");
b.HasOne("DiscImageChef.CommonTypes.Metadata.Usb", "USB").WithMany().HasForeignKey("USBId");
});
#pragma warning restore 612, 618
}
}