ProductStructureMaster legacy 表 ParentMaterialId/ComponentMaterialId 仍存大量历史 NULL 数据;实体声明为 long 非空导致 SqlSugar CodeFirst 每次启动反复 alter NOT NULL 失败,污染启动日志。 - AdoS0ProductStructureMaster 加 [IgnoreTable],让框架层全量 CodeFirst 入口 SqlSugarSetup.GetEntityTypesForInit 跳过它 - 同步删除 Plugin.AiDOP/Startup.cs 中显式 InitTables 的 typeof 调用, 避免补强路径再次触发同一 ALTER - 不改字段 nullable、不改 DB、不动 ProductStructureOp - 运行时 SqlSugar Queryable 不依赖 InitTables,BOM 列表 GET 仍正常
@@ -11,9 +11,9 @@
<GenerateSatelliteAssembliesForCore>true</GenerateSatelliteAssembliesForCore>
<Copyright>Admin.NET</Copyright>
<Description>Admin.NET 通用权限开发平台</Description>
- <AssemblyVersion>1.0.148</AssemblyVersion>
- <FileVersion>1.0.148</FileVersion>
- <Version>1.0.148</Version>
+ <AssemblyVersion>1.0.149</AssemblyVersion>
+ <FileVersion>1.0.149</FileVersion>
+ <Version>1.0.149</Version>
</PropertyGroup>
<ItemGroup>
@@ -2,7 +2,9 @@ namespace Admin.NET.Plugin.AiDOP.Entity.S0.Manufacturing;
/// <summary>
/// 标准 BOM 行维护(复刻 ProductStructureMaster,路线 A)。
+/// 标 IgnoreTable 避免框架层 CodeFirst 介入 ProductStructureMaster legacy 表 schema(历史 NULL 数据触发 ALTER NOT NULL 失败)。
/// </summary>
+[IgnoreTable]
[SugarTable("ProductStructureMaster", "标准BOM行维护(复刻 ProductStructureMaster)")]
[SugarIndex("ix_ProductStructureMaster_factory_parent", nameof(CompanyRefId), OrderByType.Asc, nameof(FactoryRefId), OrderByType.Asc, nameof(ParentMaterialId), OrderByType.Asc)]
public class AdoS0ProductStructureMaster : ITenantIdFilter
@@ -96,7 +96,6 @@ public class Startup : AppStartup
typeof(AdoS0ItemMaster),
typeof(AdoS0ItemSubstituteDetail),
typeof(AdoS0PriorityCode),
- typeof(AdoS0ProductStructureMaster),
typeof(AdoS0ProductStructureOp),
typeof(AdoS0StdOpMaster),
typeof(AdoS0LineMaster),