This commit is contained in:
2026-08-13 18:35:19 +08:00
parent 8cf6709bde
commit 8ba04fc87d
2 changed files with 81 additions and 1 deletions
@@ -14,6 +14,7 @@ class InboundCartonLabelSqlContractTest {
void baseSchemaAndExistingDatabaseMigrationKeepStableCartonKeys() throws Exception {
String schema = resource("db/phase2-inbound-schema.sql");
String migration = resource("db/phase2-inbound-carton-label.sql");
String versioningMigration = resource("db/phase2-carton-label-versioning-migration.sql");
String unified = Files.readString(Path.of("..", "deploy", "sql", "头程数据库统一增量-MySQL8.sql"));
assertThat(schema).contains("CREATE TABLE IF NOT EXISTS fl_inbound_carton_label")
@@ -23,10 +24,22 @@ class InboundCartonLabelSqlContractTest {
assertThat(migration).contains("CREATE TABLE IF NOT EXISTS fl_inbound_carton_label")
.contains("固定二维码内容:入仓码#总箱数-箱下标")
.contains("idx_carton_label_detail (tenant_id, inbound_id, inbound_detail_id)");
assertThat(versioningMigration).contains("phase2_carton_label_add_column('label_version'")
.contains("phase2_carton_label_add_column('batch_status'")
.contains("idx_carton_label_active (tenant_id, inbound_id, batch_status, label_version)");
assertThat(unified).contains("CREATE TABLE IF NOT EXISTS fl_inbound_carton_label")
.contains("unified_carton_label_add_column('label_version'")
.contains("unified_carton_label_add_column('batch_status'")
.contains("unified_carton_label_add_column('cargo_fingerprint'")
.contains("unified_carton_label_add_column('voided_at'")
.contains("ALTER TABLE fl_inbound_carton_label DROP INDEX uk_carton_label_index")
.contains("ADD UNIQUE KEY uk_carton_label_index (tenant_id,inbound_id,label_version,carton_index)")
.contains("ADD KEY idx_carton_label_active (tenant_id,inbound_id,batch_status,label_version)")
.contains("uk_carton_label_box_code")
.contains("uk_carton_label_index")
.contains("稳定箱号映射表未创建");
.contains("稳定箱号映射表未创建")
.contains("箱唛版本化字段未完整创建")
.contains("箱唛有效批次索引未完整创建");
}
private String resource(String path) throws Exception {