test: 清理夹具覆盖二期单据表;应用场地单 DDL
This commit is contained in:
@@ -170,14 +170,41 @@ public class ApprovalTestData {
|
||||
}
|
||||
|
||||
private void deleteInstance(Long instanceId) {
|
||||
master.update("DELETE FROM approval_attachment WHERE instance_id = ?", instanceId);
|
||||
master.update("DELETE FROM approval_record WHERE instance_id = ?", instanceId);
|
||||
master.update("DELETE FROM approval_task WHERE instance_id = ?", instanceId);
|
||||
master.update("DELETE FROM approval_completion_form WHERE instance_id = ?", instanceId);
|
||||
master.update("DELETE FROM approval_coordination_form WHERE instance_id = ?", instanceId);
|
||||
for (String table : INSTANCE_CHILD_TABLES) {
|
||||
try {
|
||||
master.update("DELETE FROM " + table + " WHERE instance_id = ?", instanceId);
|
||||
} catch (Exception ignored) {
|
||||
// 该单据的表尚未在当前环境创建:跳过,不阻断清理
|
||||
}
|
||||
}
|
||||
master.update("DELETE FROM approval_instance WHERE id = ?", instanceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 按实例外键清理的子表清单:新增单据表时在此追加,否则用例数据会残留在共享库。
|
||||
*
|
||||
* <p>明细子表也带 {@code instance_id},与业务主表一样按实例删除。</p>
|
||||
*/
|
||||
private static final String[] INSTANCE_CHILD_TABLES = {
|
||||
"approval_attachment",
|
||||
"approval_field_change",
|
||||
"approval_record",
|
||||
"approval_task",
|
||||
"approval_completion_form",
|
||||
"approval_coordination_form",
|
||||
// 二期单据(表不存在时下面会跳过)
|
||||
"approval_settlement_item",
|
||||
"approval_settlement_form",
|
||||
"approval_receipt_form",
|
||||
"approval_vehicle_item",
|
||||
"approval_vehicle_form",
|
||||
"approval_venue_form",
|
||||
"approval_coupon_item",
|
||||
"approval_coupon_form",
|
||||
"approval_facility_item",
|
||||
"approval_facility_form"
|
||||
};
|
||||
|
||||
private Integer insert(JdbcTemplate jdbcTemplate, String sql, Object... args) {
|
||||
KeyHolder keyHolder = new GeneratedKeyHolder();
|
||||
jdbcTemplate.update(connection -> {
|
||||
|
||||
Reference in New Issue
Block a user