fix(lastleg): route all relabel pickups directly to outbound and verify final schemas

This commit is contained in:
2026-10-15 21:05:34 +08:00
parent 4277601999
commit 607aaf74dc
27 changed files with 717 additions and 185 deletions
@@ -56,6 +56,22 @@ class Phase5OverseasUpgradeSqlContractTest {
assertThat(overseas).doesNotContain("\nUPDATE ", "\nDELETE ", "ALTER TABLE ll_");
}
@Test
void transferFinalMeasurementColumnsAreCreatedBeforeAnyBusinessWrite() throws Exception {
for (String path : List.of("lastleg-service/src/main/resources/db/lastleg.sql",
"deploy/sql/海外区域统一增量-MySQL8.sql")) {
String sql = repositoryFile(path);
String carton = createStatement(sql, "ll_warehouse_transfer_carton");
for (String column : List.of("customer_carton_mark", "length_cm", "width_cm", "height_cm",
"gross_weight_kg", "counted_quantity", "count_idempotency_key", "count_request_hash",
"counted_by", "counted_at", "discrepancy_reason", "transfer_pallet_id", "sku_items_json")) {
assertThat(carton).as(path + ":" + column).contains(column);
}
assertThat(createStatement(sql, "ll_warehouse_transfer_item")).contains("declared_quantity");
assertThat(createStatement(sql, "ll_cargo_discard_item")).contains("idx_ll_cargo_discard_return_carton");
}
}
@Test
void overseasFixedEntryAndModuleBaselineBothDefineCompletePhase5Tables() throws Exception {
String baseline = repositoryFile("lastleg-service/src/main/resources/db/lastleg.sql");