feat(database): split MisData into archival tables

Split MisData table into MisData_Curr (Status='Current') and
MisData_Hist (Status='BackLevel') following existing archival pattern.

- Add MisData_Curr and MisData_Hist table scripts
- Create MisData view (UNION ALL) for backward compatibility
- Update production and DEV pipeline configurations
- Update unit tests for new table count (22 tables)
- Update database documentation
This commit is contained in:
Joseph Doherty
2026-01-19 01:08:37 -05:00
parent 5a798b089b
commit 1e5b1bb3da
7 changed files with 116 additions and 21 deletions
@@ -57,7 +57,7 @@ public class DevEtlPipelineFactoryTests
}
[Fact]
public void GetAvailableTables_Returns21Tables()
public void GetAvailableTables_Returns22Tables()
{
// Arrange
var factory = CreateFactoryFromConfig();
@@ -66,7 +66,7 @@ public class DevEtlPipelineFactoryTests
var tables = factory.GetAvailableTables().ToList();
// Assert
tables.Count.ShouldBe(21);
tables.Count.ShouldBe(22);
tables.ShouldContain("Branch");
tables.ShouldContain("WorkOrder_Curr");
tables.ShouldContain("LotUsage_Curr");
@@ -173,8 +173,8 @@ public class DevEtlPipelineFactoryTests
SizeCategories = new SizeCategories
{
Small = ["Branch", "OrgHierarchy", "WorkCenter", "ProfitCenter"],
Medium = ["JdeUser", "FunctionCode", "Item", "RouteMaster"],
Large = ["Lot", "MisData", "WorkOrder_Curr", "WorkOrder_Hist", "LotUsage_Hist", "WorkOrderComponent_Hist"],
Medium = ["JdeUser", "FunctionCode", "Item", "RouteMaster", "MisData_Curr"],
Large = ["Lot", "MisData_Hist", "WorkOrder_Curr", "WorkOrder_Hist", "LotUsage_Hist", "WorkOrderComponent_Hist"],
VeryLarge = ["WorkOrderStep_Hist", "WorkOrderComponent_Curr", "WorkOrderRouting", "LotUsage_Curr", "WorkOrderStep_Curr", "WorkOrderTime_Hist", "WorkOrderTime_Curr"]
}
};
@@ -190,7 +190,8 @@ public class DevEtlPipelineFactoryTests
["Item"] = new(new DevSourceConfig("item.pb.zstd"), new DevDestinationConfig("Item")),
["RouteMaster"] = new(new DevSourceConfig("routemaster.pb.zstd"), new DevDestinationConfig("RouteMaster")),
["Lot"] = new(new DevSourceConfig("lot.pb.zstd"), new DevDestinationConfig("Lot")),
["MisData"] = new(new DevSourceConfig("misdata.pb.zstd"), new DevDestinationConfig("MisData")),
["MisData_Curr"] = new(new DevSourceConfig("misdata_curr.pb.zstd"), new DevDestinationConfig("MisData_Curr")),
["MisData_Hist"] = new(new DevSourceConfig("misdata_hist.pb.zstd"), new DevDestinationConfig("MisData_Hist")),
["WorkOrder_Curr"] = new(new DevSourceConfig("workorder_curr.pb.zstd"), new DevDestinationConfig("WorkOrder_Curr")),
["WorkOrder_Hist"] = new(new DevSourceConfig("workorder_hist.pb.zstd"), new DevDestinationConfig("WorkOrder_Hist")),
["LotUsage_Curr"] = new(new DevSourceConfig("lotusage_curr.pb.zstd"), new DevDestinationConfig("LotUsage_Curr")),