Introduce a Drawing table that tracks unique drawing numbers with their current PDF content hash and revision counter. ExportRecord gains a DrawingId FK. Includes a data migration to seed Drawings from existing export records. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
323 lines
11 KiB
C#
323 lines
11 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using FabWorks.Core.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Metadata;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
#nullable disable
|
|
|
|
namespace FabWorks.Core.Migrations
|
|
{
|
|
[DbContext(typeof(FabWorksDbContext))]
|
|
partial class FabWorksDbContextModelSnapshot : ModelSnapshot
|
|
{
|
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "8.0.11")
|
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
|
|
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.BomItem", b =>
|
|
{
|
|
b.Property<int>("ID")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
|
|
|
b.Property<string>("ConfigurationName")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<string>("Description")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("nvarchar(500)");
|
|
|
|
b.Property<int>("ExportRecordId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("ItemNo")
|
|
.HasMaxLength(50)
|
|
.HasColumnType("nvarchar(50)");
|
|
|
|
b.Property<string>("Material")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<string>("PartName")
|
|
.HasMaxLength(200)
|
|
.HasColumnType("nvarchar(200)");
|
|
|
|
b.Property<string>("PartNo")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<int?>("Qty")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int?>("TotalQty")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("ID");
|
|
|
|
b.HasIndex("ExportRecordId");
|
|
|
|
b.ToTable("BomItems");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.CutTemplate", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("BomItemId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("ContentHash")
|
|
.HasMaxLength(64)
|
|
.HasColumnType("nvarchar(64)");
|
|
|
|
b.Property<string>("CutTemplateName")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<double?>("DefaultBendRadius")
|
|
.HasColumnType("float");
|
|
|
|
b.Property<string>("DxfFilePath")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("nvarchar(500)");
|
|
|
|
b.Property<double?>("KFactor")
|
|
.HasColumnType("float");
|
|
|
|
b.Property<int>("Revision")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<double?>("Thickness")
|
|
.HasColumnType("float");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("BomItemId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("CutTemplates");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.Drawing", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("DrawingNumber")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<string>("PdfContentHash")
|
|
.HasMaxLength(64)
|
|
.HasColumnType("nvarchar(64)");
|
|
|
|
b.Property<int>("Revision")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Title")
|
|
.HasMaxLength(200)
|
|
.HasColumnType("nvarchar(200)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("DrawingNumber")
|
|
.IsUnique()
|
|
.HasFilter("[DrawingNumber] IS NOT NULL");
|
|
|
|
b.ToTable("Drawings");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.ExportRecord", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int?>("DrawingId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("DrawingNo")
|
|
.HasMaxLength(50)
|
|
.HasColumnType("nvarchar(50)");
|
|
|
|
b.Property<string>("DrawingNumber")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<string>("EquipmentNo")
|
|
.HasMaxLength(50)
|
|
.HasColumnType("nvarchar(50)");
|
|
|
|
b.Property<DateTime>("ExportedAt")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("ExportedBy")
|
|
.HasMaxLength(100)
|
|
.HasColumnType("nvarchar(100)");
|
|
|
|
b.Property<string>("OutputFolder")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("nvarchar(500)");
|
|
|
|
b.Property<string>("PdfContentHash")
|
|
.HasMaxLength(64)
|
|
.HasColumnType("nvarchar(64)");
|
|
|
|
b.Property<string>("SourceFilePath")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("nvarchar(500)");
|
|
|
|
b.Property<string>("Title")
|
|
.HasMaxLength(200)
|
|
.HasColumnType("nvarchar(200)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("DrawingId");
|
|
|
|
b.ToTable("ExportRecords");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.FormProgram", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("BendCount")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("BomItemId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("ContentHash")
|
|
.HasMaxLength(64)
|
|
.HasColumnType("nvarchar(64)");
|
|
|
|
b.Property<double?>("KFactor")
|
|
.HasColumnType("float");
|
|
|
|
b.Property<string>("LowerToolNames")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("nvarchar(500)");
|
|
|
|
b.Property<string>("MaterialType")
|
|
.HasMaxLength(50)
|
|
.HasColumnType("nvarchar(50)");
|
|
|
|
b.Property<string>("ProgramFilePath")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("nvarchar(500)");
|
|
|
|
b.Property<string>("ProgramName")
|
|
.HasMaxLength(200)
|
|
.HasColumnType("nvarchar(200)");
|
|
|
|
b.Property<string>("SetupNotes")
|
|
.HasMaxLength(2000)
|
|
.HasColumnType("nvarchar(2000)");
|
|
|
|
b.Property<double?>("Thickness")
|
|
.HasColumnType("float");
|
|
|
|
b.Property<string>("UpperToolNames")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("nvarchar(500)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("BomItemId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("FormPrograms");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.BomItem", b =>
|
|
{
|
|
b.HasOne("FabWorks.Core.Models.ExportRecord", "ExportRecord")
|
|
.WithMany("BomItems")
|
|
.HasForeignKey("ExportRecordId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("ExportRecord");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.CutTemplate", b =>
|
|
{
|
|
b.HasOne("FabWorks.Core.Models.BomItem", "BomItem")
|
|
.WithOne("CutTemplate")
|
|
.HasForeignKey("FabWorks.Core.Models.CutTemplate", "BomItemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("BomItem");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.ExportRecord", b =>
|
|
{
|
|
b.HasOne("FabWorks.Core.Models.Drawing", "Drawing")
|
|
.WithMany("ExportRecords")
|
|
.HasForeignKey("DrawingId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.Navigation("Drawing");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.FormProgram", b =>
|
|
{
|
|
b.HasOne("FabWorks.Core.Models.BomItem", "BomItem")
|
|
.WithOne("FormProgram")
|
|
.HasForeignKey("FabWorks.Core.Models.FormProgram", "BomItemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("BomItem");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.BomItem", b =>
|
|
{
|
|
b.Navigation("CutTemplate");
|
|
|
|
b.Navigation("FormProgram");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.Drawing", b =>
|
|
{
|
|
b.Navigation("ExportRecords");
|
|
});
|
|
|
|
modelBuilder.Entity("FabWorks.Core.Models.ExportRecord", b =>
|
|
{
|
|
b.Navigation("BomItems");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|