test(sql): align contracts with clean initialization

This commit is contained in:
2026-09-17 15:10:27 +08:00
parent 1fe99eb6d0
commit 9dc344bdef
68 changed files with 851 additions and 1448 deletions
@@ -11,7 +11,7 @@ import static org.assertj.core.api.Assertions.assertThat;
class LastlegOrderDetailSchemaContractTest {
@Test
void orderDetailHasCustomerIsolationInBaselineAndRepeatableUpgrade() throws Exception {
void orderDetailHasCustomerIsolationInBaselineAndCleanInitialization() throws Exception {
String baseline = new ClassPathResource("db/lastleg.sql")
.getContentAsString(StandardCharsets.UTF_8);
String unified = Files.readString(Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql"),
@@ -24,11 +24,10 @@ class LastlegOrderDetailSchemaContractTest {
.contains("customer_id VARCHAR(128) NOT NULL COMMENT '客户数据隔离键'")
.contains("KEY idx_ll_detail_customer_order(customer_id,order_id,id)");
assertThat(unified)
.contains("table_name='ll_order_detail' AND column_name='customer_id'")
.contains("UPDATE ll_order_detail detail")
.contains("SET detail.customer_id=orders.customer_id")
.contains("MODIFY COLUMN customer_id VARCHAR(128) NOT NULL COMMENT '客户数据隔离键'")
.contains("ADD KEY idx_ll_detail_customer_order(customer_id,order_id,id)");
.contains("CREATE TABLE ll_order_detail")
.contains("customer_id varchar(128)")
.contains("KEY idx_ll_detail_customer_order (customer_id,order_id,id)")
.doesNotContain("UPDATE ll_order_detail", "ALTER TABLE ll_order_detail");
assertThat(service)
.contains(".eq(LastlegOrderDetail::getCustomerId, order.getCustomerId())")
.contains(".eq(LastlegOrderStatusHistory::getCustomerId, order.getCustomerId())");