test(lastleg): isolate photo table DDL from subsequent rent migrations
This commit is contained in:
+6
-1
@@ -15,10 +15,15 @@ import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
/** 使用真实建表定义与Mapper验证类型隔离、最新版本及不可变历史。 */
|
||||
class FleetResourcePhotoPersistenceTest {
|
||||
/** 仅装载照片表定义,避免执行同文件后续的其他业务迁移。 */
|
||||
@Test void preservesHistoryAndRejectsTwoWritesToSameVersion() throws Exception {
|
||||
var source=new JdbcDataSource();source.setURL("jdbc:h2:mem:photos_"+UUID.randomUUID()+";MODE=MySQL;DB_CLOSE_DELAY=-1");
|
||||
var schema=Files.readString(Path.of("src/main/resources/db/lastleg.sql"));
|
||||
var ddl=schema.substring(schema.indexOf("CREATE TABLE IF NOT EXISTS ll_fleet_resource_photo ("));
|
||||
int start=schema.indexOf("CREATE TABLE IF NOT EXISTS ll_fleet_resource_photo (");
|
||||
assertThat(start).isGreaterThanOrEqualTo(0);
|
||||
int end=schema.indexOf(';',start);
|
||||
assertThat(end).isGreaterThan(start);
|
||||
var ddl=schema.substring(start,end+1);
|
||||
try(var connection=source.getConnection();var statement=connection.createStatement()) { statement.execute(ddl); }
|
||||
var config=new Configuration(new Environment("photos",new JdbcTransactionFactory(),source));
|
||||
config.setMapUnderscoreToCamelCase(true);config.addMapper(FleetResourcePhotoMapper.class);
|
||||
|
||||
Reference in New Issue
Block a user