diff --git a/RomRepoMgr.Core/Workers/DatImporter.cs b/RomRepoMgr.Core/Workers/DatImporter.cs
index 5d5c7f1..60bb563 100644
--- a/RomRepoMgr.Core/Workers/DatImporter.cs
+++ b/RomRepoMgr.Core/Workers/DatImporter.cs
@@ -424,12 +424,29 @@ namespace RomRepoMgr.Core.Workers
fileModificationDate = date;
}
+ string filename;
+ string path = null;
+
+ if(rom.Name.Contains('\\'))
+ {
+ filename = Path.GetFileName(rom.Name.Replace('\\', '/'));
+ path = Path.GetDirectoryName(rom.Name.Replace('\\', '/'));
+ }
+ else if(rom.Name.Contains('/'))
+ {
+ filename = Path.GetFileName(rom.Name);
+ path = Path.GetDirectoryName(rom.Name);
+ }
+ else
+ filename = rom.Name;
+
newFilesByMachine.Add(new FileByMachine
{
File = file,
Machine = machine,
- Name = rom.Name,
- FileLastModification = fileModificationDate
+ Name = filename,
+ FileLastModification = fileModificationDate,
+ Path = path
});
if(hashCollision)
diff --git a/RomRepoMgr.Database/Migrations/20200906183329_AddFilePath.Designer.cs b/RomRepoMgr.Database/Migrations/20200906183329_AddFilePath.Designer.cs
new file mode 100644
index 0000000..31ca884
--- /dev/null
+++ b/RomRepoMgr.Database/Migrations/20200906183329_AddFilePath.Designer.cs
@@ -0,0 +1,424 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using RomRepoMgr.Database;
+
+namespace RomRepoMgr.Database.Migrations
+{
+ [DbContext(typeof(Context))]
+ [Migration("20200906183329_AddFilePath")]
+ partial class AddFilePath
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "3.1.7");
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.DbDisk", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("CreatedOn")
+ .HasColumnType("TEXT");
+
+ b.Property("IsInRepo")
+ .HasColumnType("INTEGER");
+
+ b.Property("Md5")
+ .HasColumnType("TEXT")
+ .HasMaxLength(32);
+
+ b.Property("OriginalFileName")
+ .HasColumnType("TEXT");
+
+ b.Property("Sha1")
+ .HasColumnType("TEXT")
+ .HasMaxLength(40);
+
+ b.Property("Size")
+ .HasColumnType("INTEGER");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IsInRepo");
+
+ b.HasIndex("Md5");
+
+ b.HasIndex("Sha1");
+
+ b.HasIndex("Size");
+
+ b.ToTable("Disks");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.DbFile", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Crc32")
+ .HasColumnType("TEXT")
+ .HasMaxLength(8);
+
+ b.Property("CreatedOn")
+ .HasColumnType("TEXT");
+
+ b.Property("IsInRepo")
+ .HasColumnType("INTEGER");
+
+ b.Property("Md5")
+ .HasColumnType("TEXT")
+ .HasMaxLength(32);
+
+ b.Property("OriginalFileName")
+ .HasColumnType("TEXT");
+
+ b.Property("Sha1")
+ .HasColumnType("TEXT")
+ .HasMaxLength(40);
+
+ b.Property("Sha256")
+ .HasColumnType("TEXT")
+ .HasMaxLength(64);
+
+ b.Property("Sha384")
+ .HasColumnType("TEXT")
+ .HasMaxLength(96);
+
+ b.Property("Sha512")
+ .HasColumnType("TEXT")
+ .HasMaxLength(128);
+
+ b.Property("Size")
+ .HasColumnType("INTEGER");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Crc32");
+
+ b.HasIndex("IsInRepo");
+
+ b.HasIndex("Md5");
+
+ b.HasIndex("Sha1");
+
+ b.HasIndex("Sha256");
+
+ b.HasIndex("Sha384");
+
+ b.HasIndex("Sha512");
+
+ b.HasIndex("Size");
+
+ b.ToTable("Files");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.DbMedia", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("CreatedOn")
+ .HasColumnType("TEXT");
+
+ b.Property("IsInRepo")
+ .HasColumnType("INTEGER");
+
+ b.Property("Md5")
+ .HasColumnType("TEXT")
+ .HasMaxLength(32);
+
+ b.Property("OriginalFileName")
+ .HasColumnType("TEXT");
+
+ b.Property("Sha1")
+ .HasColumnType("TEXT")
+ .HasMaxLength(40);
+
+ b.Property("Sha256")
+ .HasColumnType("TEXT")
+ .HasMaxLength(64);
+
+ b.Property("Size")
+ .HasColumnType("INTEGER");
+
+ b.Property("SpamSum")
+ .HasColumnType("TEXT");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IsInRepo");
+
+ b.HasIndex("Md5");
+
+ b.HasIndex("Sha1");
+
+ b.HasIndex("Sha256");
+
+ b.HasIndex("Size");
+
+ b.HasIndex("SpamSum");
+
+ b.ToTable("Medias");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.DiskByMachine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("DiskId")
+ .HasColumnType("INTEGER");
+
+ b.Property("MachineId")
+ .HasColumnType("INTEGER");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DiskId");
+
+ b.HasIndex("MachineId");
+
+ b.HasIndex("Name");
+
+ b.ToTable("DisksByMachines");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.FileByMachine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("FileId")
+ .HasColumnType("INTEGER");
+
+ b.Property("FileLastModification")
+ .HasColumnType("TEXT");
+
+ b.Property("MachineId")
+ .HasColumnType("INTEGER");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property("Path")
+ .HasColumnType("TEXT")
+ .HasMaxLength(4096);
+
+ b.HasKey("Id");
+
+ b.HasIndex("FileId");
+
+ b.HasIndex("MachineId");
+
+ b.HasIndex("Name");
+
+ b.ToTable("FilesByMachines");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.Machine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("CreatedOn")
+ .HasColumnType("TEXT");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property("RomSetId")
+ .HasColumnType("INTEGER");
+
+ b.Property("UpdatedOn")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Name");
+
+ b.HasIndex("RomSetId");
+
+ b.ToTable("Machines");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.MediaByMachine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("MachineId")
+ .HasColumnType("INTEGER");
+
+ b.Property("MediaId")
+ .HasColumnType("INTEGER");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MachineId");
+
+ b.HasIndex("MediaId");
+
+ b.HasIndex("Name");
+
+ b.ToTable("MediasByMachines");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.RomSet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Author")
+ .HasColumnType("TEXT");
+
+ b.Property("Category")
+ .HasColumnType("TEXT");
+
+ b.Property("Comment")
+ .HasColumnType("TEXT");
+
+ b.Property("CreatedOn")
+ .HasColumnType("TEXT");
+
+ b.Property("Date")
+ .HasColumnType("TEXT");
+
+ b.Property("Description")
+ .HasColumnType("TEXT");
+
+ b.Property("Filename")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property("Homepage")
+ .HasColumnType("TEXT");
+
+ b.Property("Name")
+ .HasColumnType("TEXT");
+
+ b.Property("Sha384")
+ .IsRequired()
+ .HasColumnType("TEXT")
+ .HasMaxLength(96);
+
+ b.Property("UpdatedOn")
+ .HasColumnType("TEXT");
+
+ b.Property("Version")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Author");
+
+ b.HasIndex("Category");
+
+ b.HasIndex("Comment");
+
+ b.HasIndex("Date");
+
+ b.HasIndex("Description");
+
+ b.HasIndex("Filename");
+
+ b.HasIndex("Homepage");
+
+ b.HasIndex("Name");
+
+ b.HasIndex("Sha384");
+
+ b.HasIndex("Version");
+
+ b.ToTable("RomSets");
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.DiskByMachine", b =>
+ {
+ b.HasOne("RomRepoMgr.Database.Models.DbDisk", "Disk")
+ .WithMany("Machines")
+ .HasForeignKey("DiskId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine")
+ .WithMany("Disks")
+ .HasForeignKey("MachineId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.FileByMachine", b =>
+ {
+ b.HasOne("RomRepoMgr.Database.Models.DbFile", "File")
+ .WithMany("Machines")
+ .HasForeignKey("FileId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine")
+ .WithMany("Files")
+ .HasForeignKey("MachineId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.Machine", b =>
+ {
+ b.HasOne("RomRepoMgr.Database.Models.RomSet", "RomSet")
+ .WithMany("Machines")
+ .HasForeignKey("RomSetId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("RomRepoMgr.Database.Models.MediaByMachine", b =>
+ {
+ b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine")
+ .WithMany("Medias")
+ .HasForeignKey("MachineId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("RomRepoMgr.Database.Models.DbMedia", "Media")
+ .WithMany("Machines")
+ .HasForeignKey("MediaId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/RomRepoMgr.Database/Migrations/20200906183329_AddFilePath.cs b/RomRepoMgr.Database/Migrations/20200906183329_AddFilePath.cs
new file mode 100644
index 0000000..0d46ec3
--- /dev/null
+++ b/RomRepoMgr.Database/Migrations/20200906183329_AddFilePath.cs
@@ -0,0 +1,13 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+namespace RomRepoMgr.Database.Migrations
+{
+ public partial class AddFilePath : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder) =>
+ migrationBuilder.AddColumn("Path", "FilesByMachines", maxLength: 4096, nullable: true);
+
+ protected override void Down(MigrationBuilder migrationBuilder) =>
+ migrationBuilder.DropColumn("Path", "FilesByMachines");
+ }
+}
\ No newline at end of file
diff --git a/RomRepoMgr.Database/Migrations/ContextModelSnapshot.cs b/RomRepoMgr.Database/Migrations/ContextModelSnapshot.cs
index bc1d179..61f974f 100644
--- a/RomRepoMgr.Database/Migrations/ContextModelSnapshot.cs
+++ b/RomRepoMgr.Database/Migrations/ContextModelSnapshot.cs
@@ -1,418 +1,310 @@
//
+
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using RomRepoMgr.Database;
namespace RomRepoMgr.Database.Migrations
{
[DbContext(typeof(Context))]
- partial class ContextModelSnapshot : ModelSnapshot
+ internal class ContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "3.1.7");
+ #pragma warning disable 612, 618
+ modelBuilder.HasAnnotation("ProductVersion", "3.1.7");
modelBuilder.Entity("RomRepoMgr.Database.Models.DbDisk", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("CreatedOn")
- .HasColumnType("TEXT");
+ b.Property("CreatedOn").HasColumnType("TEXT");
- b.Property("IsInRepo")
- .HasColumnType("INTEGER");
+ b.Property("IsInRepo").HasColumnType("INTEGER");
- b.Property("Md5")
- .HasColumnType("TEXT")
- .HasMaxLength(32);
+ b.Property("Md5").HasColumnType("TEXT").HasMaxLength(32);
- b.Property("OriginalFileName")
- .HasColumnType("TEXT");
+ b.Property("OriginalFileName").HasColumnType("TEXT");
- b.Property("Sha1")
- .HasColumnType("TEXT")
- .HasMaxLength(40);
+ b.Property("Sha1").HasColumnType("TEXT").HasMaxLength(40);
- b.Property("Size")
- .HasColumnType("INTEGER");
+ b.Property("Size").HasColumnType("INTEGER");
- b.Property("UpdatedOn")
- .HasColumnType("TEXT");
+ b.Property("UpdatedOn").HasColumnType("TEXT");
- b.HasKey("Id");
+ b.HasKey("Id");
- b.HasIndex("IsInRepo");
+ b.HasIndex("IsInRepo");
- b.HasIndex("Md5");
+ b.HasIndex("Md5");
- b.HasIndex("Sha1");
+ b.HasIndex("Sha1");
- b.HasIndex("Size");
+ b.HasIndex("Size");
- b.ToTable("Disks");
- });
+ b.ToTable("Disks");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.DbFile", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("Crc32")
- .HasColumnType("TEXT")
- .HasMaxLength(8);
+ b.Property("Crc32").HasColumnType("TEXT").HasMaxLength(8);
- b.Property("CreatedOn")
- .HasColumnType("TEXT");
+ b.Property("CreatedOn").HasColumnType("TEXT");
- b.Property("IsInRepo")
- .HasColumnType("INTEGER");
+ b.Property("IsInRepo").HasColumnType("INTEGER");
- b.Property("Md5")
- .HasColumnType("TEXT")
- .HasMaxLength(32);
+ b.Property("Md5").HasColumnType("TEXT").HasMaxLength(32);
- b.Property("OriginalFileName")
- .HasColumnType("TEXT");
+ b.Property("OriginalFileName").HasColumnType("TEXT");
- b.Property("Sha1")
- .HasColumnType("TEXT")
- .HasMaxLength(40);
+ b.Property("Sha1").HasColumnType("TEXT").HasMaxLength(40);
- b.Property("Sha256")
- .HasColumnType("TEXT")
- .HasMaxLength(64);
+ b.Property("Sha256").HasColumnType("TEXT").HasMaxLength(64);
- b.Property("Sha384")
- .HasColumnType("TEXT")
- .HasMaxLength(96);
+ b.Property("Sha384").HasColumnType("TEXT").HasMaxLength(96);
- b.Property("Sha512")
- .HasColumnType("TEXT")
- .HasMaxLength(128);
+ b.Property("Sha512").HasColumnType("TEXT").HasMaxLength(128);
- b.Property("Size")
- .HasColumnType("INTEGER");
+ b.Property("Size").HasColumnType("INTEGER");
- b.Property("UpdatedOn")
- .HasColumnType("TEXT");
+ b.Property("UpdatedOn").HasColumnType("TEXT");
- b.HasKey("Id");
+ b.HasKey("Id");
- b.HasIndex("Crc32");
+ b.HasIndex("Crc32");
- b.HasIndex("IsInRepo");
+ b.HasIndex("IsInRepo");
- b.HasIndex("Md5");
+ b.HasIndex("Md5");
- b.HasIndex("Sha1");
+ b.HasIndex("Sha1");
- b.HasIndex("Sha256");
+ b.HasIndex("Sha256");
- b.HasIndex("Sha384");
+ b.HasIndex("Sha384");
- b.HasIndex("Sha512");
+ b.HasIndex("Sha512");
- b.HasIndex("Size");
+ b.HasIndex("Size");
- b.ToTable("Files");
- });
+ b.ToTable("Files");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.DbMedia", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("CreatedOn")
- .HasColumnType("TEXT");
+ b.Property("CreatedOn").HasColumnType("TEXT");
- b.Property("IsInRepo")
- .HasColumnType("INTEGER");
+ b.Property("IsInRepo").HasColumnType("INTEGER");
- b.Property("Md5")
- .HasColumnType("TEXT")
- .HasMaxLength(32);
+ b.Property("Md5").HasColumnType("TEXT").HasMaxLength(32);
- b.Property("OriginalFileName")
- .HasColumnType("TEXT");
+ b.Property("OriginalFileName").HasColumnType("TEXT");
- b.Property("Sha1")
- .HasColumnType("TEXT")
- .HasMaxLength(40);
+ b.Property("Sha1").HasColumnType("TEXT").HasMaxLength(40);
- b.Property("Sha256")
- .HasColumnType("TEXT")
- .HasMaxLength(64);
+ b.Property("Sha256").HasColumnType("TEXT").HasMaxLength(64);
- b.Property("Size")
- .HasColumnType("INTEGER");
+ b.Property("Size").HasColumnType("INTEGER");
- b.Property("SpamSum")
- .HasColumnType("TEXT");
+ b.Property("SpamSum").HasColumnType("TEXT");
- b.Property("UpdatedOn")
- .HasColumnType("TEXT");
+ b.Property("UpdatedOn").HasColumnType("TEXT");
- b.HasKey("Id");
+ b.HasKey("Id");
- b.HasIndex("IsInRepo");
+ b.HasIndex("IsInRepo");
- b.HasIndex("Md5");
+ b.HasIndex("Md5");
- b.HasIndex("Sha1");
+ b.HasIndex("Sha1");
- b.HasIndex("Sha256");
+ b.HasIndex("Sha256");
- b.HasIndex("Size");
+ b.HasIndex("Size");
- b.HasIndex("SpamSum");
+ b.HasIndex("SpamSum");
- b.ToTable("Medias");
- });
+ b.ToTable("Medias");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.DiskByMachine", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("DiskId")
- .HasColumnType("INTEGER");
+ b.Property("DiskId").HasColumnType("INTEGER");
- b.Property("MachineId")
- .HasColumnType("INTEGER");
+ b.Property("MachineId").HasColumnType("INTEGER");
- b.Property("Name")
- .IsRequired()
- .HasColumnType("TEXT");
+ b.Property("Name").IsRequired().HasColumnType("TEXT");
- b.HasKey("Id");
+ b.HasKey("Id");
- b.HasIndex("DiskId");
+ b.HasIndex("DiskId");
- b.HasIndex("MachineId");
+ b.HasIndex("MachineId");
- b.HasIndex("Name");
+ b.HasIndex("Name");
- b.ToTable("DisksByMachines");
- });
+ b.ToTable("DisksByMachines");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.FileByMachine", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("FileId")
- .HasColumnType("INTEGER");
+ b.Property("FileId").HasColumnType("INTEGER");
- b.Property("FileLastModification")
- .HasColumnType("TEXT");
+ b.Property("FileLastModification").HasColumnType("TEXT");
- b.Property("MachineId")
- .HasColumnType("INTEGER");
+ b.Property("MachineId").HasColumnType("INTEGER");
- b.Property("Name")
- .IsRequired()
- .HasColumnType("TEXT");
+ b.Property("Name").IsRequired().HasColumnType("TEXT");
- b.HasKey("Id");
+ b.Property("Path").HasColumnType("TEXT").HasMaxLength(4096);
- b.HasIndex("FileId");
+ b.HasKey("Id");
- b.HasIndex("MachineId");
+ b.HasIndex("FileId");
- b.HasIndex("Name");
+ b.HasIndex("MachineId");
- b.ToTable("FilesByMachines");
- });
+ b.HasIndex("Name");
+
+ b.ToTable("FilesByMachines");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.Machine", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("CreatedOn")
- .HasColumnType("TEXT");
+ b.Property("CreatedOn").HasColumnType("TEXT");
- b.Property("Name")
- .IsRequired()
- .HasColumnType("TEXT");
+ b.Property("Name").IsRequired().HasColumnType("TEXT");
- b.Property("RomSetId")
- .HasColumnType("INTEGER");
+ b.Property("RomSetId").HasColumnType("INTEGER");
- b.Property("UpdatedOn")
- .HasColumnType("TEXT");
+ b.Property("UpdatedOn").HasColumnType("TEXT");
- b.HasKey("Id");
+ b.HasKey("Id");
- b.HasIndex("Name");
+ b.HasIndex("Name");
- b.HasIndex("RomSetId");
+ b.HasIndex("RomSetId");
- b.ToTable("Machines");
- });
+ b.ToTable("Machines");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.MediaByMachine", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("MachineId")
- .HasColumnType("INTEGER");
+ b.Property("MachineId").HasColumnType("INTEGER");
- b.Property("MediaId")
- .HasColumnType("INTEGER");
+ b.Property("MediaId").HasColumnType("INTEGER");
- b.Property("Name")
- .IsRequired()
- .HasColumnType("TEXT");
+ b.Property("Name").IsRequired().HasColumnType("TEXT");
- b.HasKey("Id");
+ b.HasKey("Id");
- b.HasIndex("MachineId");
+ b.HasIndex("MachineId");
- b.HasIndex("MediaId");
+ b.HasIndex("MediaId");
- b.HasIndex("Name");
+ b.HasIndex("Name");
- b.ToTable("MediasByMachines");
- });
+ b.ToTable("MediasByMachines");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.RomSet", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER");
+ {
+ b.Property("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
- b.Property("Author")
- .HasColumnType("TEXT");
+ b.Property("Author").HasColumnType("TEXT");
- b.Property("Category")
- .HasColumnType("TEXT");
+ b.Property("Category").HasColumnType("TEXT");
- b.Property("Comment")
- .HasColumnType("TEXT");
+ b.Property("Comment").HasColumnType("TEXT");
- b.Property("CreatedOn")
- .HasColumnType("TEXT");
+ b.Property("CreatedOn").HasColumnType("TEXT");
- b.Property("Date")
- .HasColumnType("TEXT");
+ b.Property("Date").HasColumnType("TEXT");
- b.Property("Description")
- .HasColumnType("TEXT");
+ b.Property("Description").HasColumnType("TEXT");
- b.Property("Filename")
- .IsRequired()
- .HasColumnType("TEXT");
+ b.Property("Filename").IsRequired().HasColumnType("TEXT");
- b.Property("Homepage")
- .HasColumnType("TEXT");
+ b.Property("Homepage").HasColumnType("TEXT");
- b.Property("Name")
- .HasColumnType("TEXT");
+ b.Property("Name").HasColumnType("TEXT");
- b.Property("Sha384")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasMaxLength(96);
+ b.Property("Sha384").IsRequired().HasColumnType("TEXT").HasMaxLength(96);
- b.Property("UpdatedOn")
- .HasColumnType("TEXT");
+ b.Property("UpdatedOn").HasColumnType("TEXT");
- b.Property("Version")
- .HasColumnType("TEXT");
+ b.Property("Version").HasColumnType("TEXT");
- b.HasKey("Id");
+ b.HasKey("Id");
- b.HasIndex("Author");
+ b.HasIndex("Author");
- b.HasIndex("Category");
+ b.HasIndex("Category");
- b.HasIndex("Comment");
+ b.HasIndex("Comment");
- b.HasIndex("Date");
+ b.HasIndex("Date");
- b.HasIndex("Description");
+ b.HasIndex("Description");
- b.HasIndex("Filename");
+ b.HasIndex("Filename");
- b.HasIndex("Homepage");
+ b.HasIndex("Homepage");
- b.HasIndex("Name");
+ b.HasIndex("Name");
- b.HasIndex("Sha384");
+ b.HasIndex("Sha384");
- b.HasIndex("Version");
+ b.HasIndex("Version");
- b.ToTable("RomSets");
- });
+ b.ToTable("RomSets");
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.DiskByMachine", b =>
- {
- b.HasOne("RomRepoMgr.Database.Models.DbDisk", "Disk")
- .WithMany("Machines")
- .HasForeignKey("DiskId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
+ {
+ b.HasOne("RomRepoMgr.Database.Models.DbDisk", "Disk").WithMany("Machines").HasForeignKey("DiskId").
+ OnDelete(DeleteBehavior.Cascade).IsRequired();
- b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine")
- .WithMany("Disks")
- .HasForeignKey("MachineId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
+ b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine").WithMany("Disks").HasForeignKey("MachineId").
+ OnDelete(DeleteBehavior.Cascade).IsRequired();
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.FileByMachine", b =>
- {
- b.HasOne("RomRepoMgr.Database.Models.DbFile", "File")
- .WithMany("Machines")
- .HasForeignKey("FileId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
+ {
+ b.HasOne("RomRepoMgr.Database.Models.DbFile", "File").WithMany("Machines").HasForeignKey("FileId").
+ OnDelete(DeleteBehavior.Cascade).IsRequired();
- b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine")
- .WithMany("Files")
- .HasForeignKey("MachineId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
+ b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine").WithMany("Files").HasForeignKey("MachineId").
+ OnDelete(DeleteBehavior.Cascade).IsRequired();
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.Machine", b =>
- {
- b.HasOne("RomRepoMgr.Database.Models.RomSet", "RomSet")
- .WithMany("Machines")
- .HasForeignKey("RomSetId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
+ {
+ b.HasOne("RomRepoMgr.Database.Models.RomSet", "RomSet").WithMany("Machines").HasForeignKey("RomSetId").
+ OnDelete(DeleteBehavior.Cascade).IsRequired();
+ });
modelBuilder.Entity("RomRepoMgr.Database.Models.MediaByMachine", b =>
- {
- b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine")
- .WithMany("Medias")
- .HasForeignKey("MachineId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
+ {
+ b.HasOne("RomRepoMgr.Database.Models.Machine", "Machine").WithMany("Medias").HasForeignKey("MachineId").
+ OnDelete(DeleteBehavior.Cascade).IsRequired();
- b.HasOne("RomRepoMgr.Database.Models.DbMedia", "Media")
- .WithMany("Machines")
- .HasForeignKey("MediaId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-#pragma warning restore 612, 618
+ b.HasOne("RomRepoMgr.Database.Models.DbMedia", "Media").WithMany("Machines").HasForeignKey("MediaId").
+ OnDelete(DeleteBehavior.Cascade).IsRequired();
+ });
+ #pragma warning restore 612, 618
}
}
-}
+}
\ No newline at end of file
diff --git a/RomRepoMgr.Database/Models/FileByMachine.cs b/RomRepoMgr.Database/Models/FileByMachine.cs
index 58a3dcc..11af7d4 100644
--- a/RomRepoMgr.Database/Models/FileByMachine.cs
+++ b/RomRepoMgr.Database/Models/FileByMachine.cs
@@ -41,5 +41,7 @@ namespace RomRepoMgr.Database.Models
public ulong FileId { get; set; }
public ulong MachineId { get; set; }
public DateTime? FileLastModification { get; set; }
+ [StringLength(4096)]
+ public string Path { get; set; }
}
}
\ No newline at end of file