Store and use undecoded buffers for ATA IDENTIFY (PACKET) DEVICE, SCSI INQUIRY and SCSI MODE PAGE 2Ah in device reports in database.

This commit is contained in:
2018-12-23 23:51:06 +00:00
parent ded1e9a70b
commit 994ea2bc80
20 changed files with 1699 additions and 211 deletions

View File

@@ -317,6 +317,8 @@
<e p="20181221125353_AddStatsCounters.cs" t="Include" />
<e p="20181223183913_FixUnsignedFields.Designer.cs" t="Include" />
<e p="20181223183913_FixUnsignedFields.cs" t="Include" />
<e p="20181223214411_UseBinaryDataForIdentifyInquiryAndModesInReports.Designer.cs" t="Include" />
<e p="20181223214411_UseBinaryDataForIdentifyInquiryAndModesInReports.cs" t="Include" />
<e p="DicContextModelSnapshot.cs" t="Include" />
</e>
<e p="Models" t="Include">
@@ -1803,6 +1805,9 @@
<e p="201812231612080_FixUnsignedFields.Designer.cs" t="Include" />
<e p="201812231612080_FixUnsignedFields.cs" t="Include" />
<e p="201812231612080_FixUnsignedFields.resx" t="Include" />
<e p="201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.Designer.cs" t="Include" />
<e p="201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.cs" t="Include" />
<e p="201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.resx" t="Include" />
<e p="Configuration.cs" t="Include" />
</e>
<e p="Models" t="Include">

View File

@@ -78,6 +78,8 @@
<Compile Include="Migrations\20181221125353_AddStatsCounters.Designer.cs" />
<Compile Include="Migrations\20181223183913_FixUnsignedFields.cs" />
<Compile Include="Migrations\20181223183913_FixUnsignedFields.Designer.cs" />
<Compile Include="Migrations\20181223214411_UseBinaryDataForIdentifyInquiryAndModesInReports.cs" />
<Compile Include="Migrations\20181223214411_UseBinaryDataForIdentifyInquiryAndModesInReports.Designer.cs" />
<Compile Include="Migrations\DicContextModelSnapshot.cs" />
<Compile Include="Models\Command.cs" />
<Compile Include="Models\Device.cs" />

View File

@@ -160,14 +160,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1079,10 +1075,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -287,17 +287,13 @@ namespace DiscImageChef.Database.Migrations
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
ModeSense2AId = table.Column<int>(nullable: true),
FeaturesId = table.Column<int>(nullable: true)
FeaturesId = table.Column<int>(nullable: true)
}, constraints: table =>
{
table.PrimaryKey("PK_Mmc", x => x.Id);
table.ForeignKey("FK_Mmc_MmcFeatures_FeaturesId", x => x.FeaturesId,
"MmcFeatures", "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey("FK_Mmc_ModePage_2A_ModeSense2AId", x => x.ModeSense2AId,
"ModePage_2A", "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable("BlockDescriptor",
@@ -626,8 +622,6 @@ namespace DiscImageChef.Database.Migrations
migrationBuilder.CreateIndex("IX_Mmc_FeaturesId", "Mmc", "FeaturesId");
migrationBuilder.CreateIndex("IX_Mmc_ModeSense2AId", "Mmc", "ModeSense2AId");
migrationBuilder.CreateIndex("IX_Reports_ATAId", "Reports", "ATAId");
migrationBuilder.CreateIndex("IX_Reports_ATAPIId", "Reports", "ATAPIId");

View File

@@ -168,14 +168,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1087,10 +1083,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -111,14 +111,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1094,10 +1090,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -111,14 +111,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1164,10 +1160,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -111,14 +111,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1180,10 +1176,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -111,14 +111,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1200,10 +1196,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -111,14 +111,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1216,10 +1212,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -111,14 +111,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1230,10 +1226,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -111,14 +111,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1246,10 +1242,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -125,14 +125,10 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1312,10 +1308,6 @@ namespace DiscImageChef.Database.Migrations
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features")
.WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A")
.WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>

View File

@@ -0,0 +1,90 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DiscImageChef.Database.Migrations
{
public partial class UseBinaryDataForIdentifyInquiryAndModesInReports : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "ModePage_2A");
migrationBuilder.AddColumn<byte[]>(
name: "ModeSense2AData",
table: "Mmc",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ModeSense2AData",
table: "Mmc");
migrationBuilder.CreateTable(
name: "ModePage_2A",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
AccurateCDDA = table.Column<bool>(nullable: false),
AudioPlay = table.Column<bool>(nullable: false),
BCK = table.Column<bool>(nullable: false),
BUF = table.Column<bool>(nullable: false),
BufferSize = table.Column<ushort>(nullable: false),
C2Pointer = table.Column<bool>(nullable: false),
CDDACommand = table.Column<bool>(nullable: false),
CMRSupported = table.Column<ushort>(nullable: false),
Composite = table.Column<bool>(nullable: false),
CurrentSpeed = table.Column<ushort>(nullable: false),
CurrentWriteSpeed = table.Column<ushort>(nullable: false),
CurrentWriteSpeedSelected = table.Column<ushort>(nullable: false),
DeinterlaveSubchannel = table.Column<bool>(nullable: false),
DigitalPort1 = table.Column<bool>(nullable: false),
DigitalPort2 = table.Column<bool>(nullable: false),
Eject = table.Column<bool>(nullable: false),
ISRC = table.Column<bool>(nullable: false),
LSBF = table.Column<bool>(nullable: false),
LeadInPW = table.Column<bool>(nullable: false),
Length = table.Column<byte>(nullable: false),
LoadingMechanism = table.Column<byte>(nullable: false),
Lock = table.Column<bool>(nullable: false),
LockState = table.Column<bool>(nullable: false),
MaxWriteSpeed = table.Column<ushort>(nullable: false),
MaximumSpeed = table.Column<ushort>(nullable: false),
Method2 = table.Column<bool>(nullable: false),
Mode2Form1 = table.Column<bool>(nullable: false),
Mode2Form2 = table.Column<bool>(nullable: false),
MultiSession = table.Column<bool>(nullable: false),
PS = table.Column<bool>(nullable: false),
PreventJumper = table.Column<bool>(nullable: false),
RCK = table.Column<bool>(nullable: false),
ReadBarcode = table.Column<bool>(nullable: false),
ReadCDR = table.Column<bool>(nullable: false),
ReadCDRW = table.Column<bool>(nullable: false),
ReadDVDR = table.Column<bool>(nullable: false),
ReadDVDRAM = table.Column<bool>(nullable: false),
ReadDVDROM = table.Column<bool>(nullable: false),
RotationControlSelected = table.Column<byte>(nullable: false),
SCC = table.Column<bool>(nullable: false),
SDP = table.Column<bool>(nullable: false),
SSS = table.Column<bool>(nullable: false),
SeparateChannelMute = table.Column<bool>(nullable: false),
SeparateChannelVolume = table.Column<bool>(nullable: false),
Subchannel = table.Column<bool>(nullable: false),
SupportedVolumeLevels = table.Column<ushort>(nullable: false),
TestWrite = table.Column<bool>(nullable: false),
UPC = table.Column<bool>(nullable: false),
WriteCDR = table.Column<bool>(nullable: false),
WriteCDRW = table.Column<bool>(nullable: false),
WriteDVDR = table.Column<bool>(nullable: false),
WriteDVDRAM = table.Column<bool>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ModePage_2A", x => x.Id);
});
}
}
}

View File

@@ -115,14 +115,12 @@ namespace DiscImageChef.Database.Migrations
b.Property<int?>("FeaturesId");
b.Property<int?>("ModeSense2AId");
b.Property<byte[]>("ModeSense2AData");
b.HasKey("Id");
b.HasIndex("FeaturesId");
b.HasIndex("ModeSense2AId");
b.ToTable("Mmc");
});
@@ -1139,119 +1137,6 @@ namespace DiscImageChef.Database.Migrations
b.ToTable("Versions");
});
modelBuilder.Entity("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd();
b.Property<bool>("AccurateCDDA");
b.Property<bool>("AudioPlay");
b.Property<bool>("BCK");
b.Property<bool>("BUF");
b.Property<ushort>("BufferSize");
b.Property<bool>("C2Pointer");
b.Property<bool>("CDDACommand");
b.Property<ushort>("CMRSupported");
b.Property<bool>("Composite");
b.Property<ushort>("CurrentSpeed");
b.Property<ushort>("CurrentWriteSpeed");
b.Property<ushort>("CurrentWriteSpeedSelected");
b.Property<bool>("DeinterlaveSubchannel");
b.Property<bool>("DigitalPort1");
b.Property<bool>("DigitalPort2");
b.Property<bool>("Eject");
b.Property<bool>("ISRC");
b.Property<bool>("LSBF");
b.Property<bool>("LeadInPW");
b.Property<byte>("Length");
b.Property<byte>("LoadingMechanism");
b.Property<bool>("Lock");
b.Property<bool>("LockState");
b.Property<ushort>("MaxWriteSpeed");
b.Property<ushort>("MaximumSpeed");
b.Property<bool>("Method2");
b.Property<bool>("Mode2Form1");
b.Property<bool>("Mode2Form2");
b.Property<bool>("MultiSession");
b.Property<bool>("PS");
b.Property<bool>("PreventJumper");
b.Property<bool>("RCK");
b.Property<bool>("ReadBarcode");
b.Property<bool>("ReadCDR");
b.Property<bool>("ReadCDRW");
b.Property<bool>("ReadDVDR");
b.Property<bool>("ReadDVDRAM");
b.Property<bool>("ReadDVDROM");
b.Property<byte>("RotationControlSelected");
b.Property<bool>("SCC");
b.Property<bool>("SDP");
b.Property<bool>("SSS");
b.Property<bool>("SeparateChannelMute");
b.Property<bool>("SeparateChannelVolume");
b.Property<bool>("Subchannel");
b.Property<ushort>("SupportedVolumeLevels");
b.Property<bool>("TestWrite");
b.Property<bool>("UPC");
b.Property<bool>("WriteCDR");
b.Property<bool>("WriteCDRW");
b.Property<bool>("WriteDVDR");
b.Property<bool>("WriteDVDRAM");
b.HasKey("Id");
b.ToTable("ModePage_2A");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Ata",
b =>
{
@@ -1273,14 +1158,12 @@ namespace DiscImageChef.Database.Migrations
.WithMany("DensityCodes").HasForeignKey("SscSupportedMediaId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Mmc", b =>
{
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features").WithMany()
.HasForeignKey("FeaturesId");
b.HasOne("DiscImageChef.Decoders.SCSI.Modes+ModePage_2A", "ModeSense2A").WithMany()
.HasForeignKey("ModeSense2AId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Mmc",
b =>
{
b.HasOne("DiscImageChef.CommonTypes.Metadata.MmcFeatures", "Features").WithMany()
.HasForeignKey("FeaturesId");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Scsi", b =>
{

View File

@@ -213,6 +213,10 @@
<Compile Include="Migrations\201812231612080_FixUnsignedFields.Designer.cs">
<DependentUpon>201812231612080_FixUnsignedFields.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.cs" />
<Compile Include="Migrations\201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.Designer.cs">
<DependentUpon>201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Models\Command.cs" />
<Compile Include="Models\Context.cs" />
@@ -305,6 +309,9 @@
<EmbeddedResource Include="Migrations\201812231612080_FixUnsignedFields.resx">
<DependentUpon>201812231612080_FixUnsignedFields.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.resx">
<DependentUpon>201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>

View File

@@ -0,0 +1,29 @@
// <auto-generated />
namespace DiscImageChef.Server.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class UseBinaryDataForIdentifyInquiryAndModesInReports : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(UseBinaryDataForIdentifyInquiryAndModesInReports));
string IMigrationMetadata.Id
{
get { return "201812232250198_UseBinaryDataForIdentifyInquiryAndModesInReports"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@@ -0,0 +1,77 @@
namespace DiscImageChef.Server.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class UseBinaryDataForIdentifyInquiryAndModesInReports : DbMigration
{
public override void Up()
{
DropForeignKey("Mmcs", "ModeSense2A_Id", "ModePage_2A");
DropIndex("dbo.Mmcs", new[] { "ModeSense2A_Id" });
AddColumn("dbo.Mmcs", "ModeSense2AData", c => c.Binary());
DropColumn("dbo.Mmcs", "ModeSense2A_Id");
DropTable("dbo.ModePage_2A");
}
public override void Down()
{
CreateTable(
"dbo.ModePage_2A",
c => new
{
Id = c.Int(nullable: false, identity: true),
PS = c.Boolean(nullable: false),
MultiSession = c.Boolean(nullable: false),
Mode2Form2 = c.Boolean(nullable: false),
Mode2Form1 = c.Boolean(nullable: false),
AudioPlay = c.Boolean(nullable: false),
ISRC = c.Boolean(nullable: false),
UPC = c.Boolean(nullable: false),
C2Pointer = c.Boolean(nullable: false),
DeinterlaveSubchannel = c.Boolean(nullable: false),
Subchannel = c.Boolean(nullable: false),
AccurateCDDA = c.Boolean(nullable: false),
CDDACommand = c.Boolean(nullable: false),
LoadingMechanism = c.Byte(nullable: false),
Eject = c.Boolean(nullable: false),
PreventJumper = c.Boolean(nullable: false),
LockState = c.Boolean(nullable: false),
Lock = c.Boolean(nullable: false),
SeparateChannelMute = c.Boolean(nullable: false),
SeparateChannelVolume = c.Boolean(nullable: false),
Method2 = c.Boolean(nullable: false),
ReadCDRW = c.Boolean(nullable: false),
ReadCDR = c.Boolean(nullable: false),
WriteCDRW = c.Boolean(nullable: false),
WriteCDR = c.Boolean(nullable: false),
DigitalPort2 = c.Boolean(nullable: false),
DigitalPort1 = c.Boolean(nullable: false),
Composite = c.Boolean(nullable: false),
SSS = c.Boolean(nullable: false),
SDP = c.Boolean(nullable: false),
Length = c.Byte(nullable: false),
LSBF = c.Boolean(nullable: false),
RCK = c.Boolean(nullable: false),
BCK = c.Boolean(nullable: false),
TestWrite = c.Boolean(nullable: false),
ReadBarcode = c.Boolean(nullable: false),
ReadDVDRAM = c.Boolean(nullable: false),
ReadDVDR = c.Boolean(nullable: false),
ReadDVDROM = c.Boolean(nullable: false),
WriteDVDRAM = c.Boolean(nullable: false),
WriteDVDR = c.Boolean(nullable: false),
LeadInPW = c.Boolean(nullable: false),
SCC = c.Boolean(nullable: false),
BUF = c.Boolean(nullable: false),
RotationControlSelected = c.Byte(nullable: false),
})
.PrimaryKey(t => t.Id);
AddColumn("dbo.Mmcs", "ModeSense2A_Id", c => c.Int());
DropColumn("dbo.Mmcs", "ModeSense2AData");
CreateIndex("dbo.Mmcs", "ModeSense2A_Id");
AddForeignKey("dbo.Mmcs", "ModeSense2A_Id", "dbo.ModePage_2A", "Id");
}
}
}

File diff suppressed because one or more lines are too long