From f25e270f22c688d0ccdcee23592f81bf811ab6a0 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Wed, 19 Aug 2026 14:13:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FeeItemMigrationSqlContractTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/firstleg/src/test/java/com/baiyue/firstleg/repository/FeeItemMigrationSqlContractTest.java b/firstleg/src/test/java/com/baiyue/firstleg/repository/FeeItemMigrationSqlContractTest.java index e1451a307..38a44e5ce 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/repository/FeeItemMigrationSqlContractTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/repository/FeeItemMigrationSqlContractTest.java @@ -31,6 +31,22 @@ class FeeItemMigrationSqlContractTest { .doesNotContain("OR EXISTS (SELECT trade_scope, fee_type_name FROM tmp_fee_item_seed"); } + @Test + void inboundFeeSourceIndexUsesTheFinalVersionedDefinition() throws Exception { + assertFinalSourceIndex(resolve("deploy/sql/头程数据库统一增量-MySQL8.sql")); + assertFinalSourceIndex(resolve( + "firstleg/src/main/resources/db/phase2-published-freight-detail-migration.sql")); + } + + private static void assertFinalSourceIndex(Path path) throws Exception { + String sql = Files.readString(path, StandardCharsets.UTF_8); + assertThat(sql) + .contains("UNIQUE KEY `uk_inbound_fee_source` " + + "(`tenant_id`, `source_type`, `source_fee_id`, `source_fee_version`)") + .doesNotContain("inbound_fee_source_index_ddl") + .doesNotContain("DROP INDEX uk_inbound_fee_source"); + } + private static Path resolve(String value) { Path direct = Path.of(value); if (Files.exists(direct)) return direct;