我正在尝试使用liquibase设置数据库模式和一些测试数据以进行某些测试。每个测试都有一个单独的更改日志,用于设置架构和测试的一些特定数据。
为了使我的测试工作,我需要在每次测试之前删除模式并用新的测试数据填充它。但是,似乎这不起作用,因为一些测试失败,因为旧的测试数据仍然可用。我认为我的配置不正确。如何在每次测试之前强制liquibase删除模式?
我的测试结果如下:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyTestConfig.class)
@TestPropertySource(properties = "liquibase.change-log=classpath:changelog/schema-with-testdata.xml")
public class MyRepositoryTest {
测试的配置如下:
@SpringApplicationConfiguration
@Configuration
@EnableAutoConfiguration
@ComponentScan("com.mypackage")
@EntityScan(basePackages = { "com.mypackage.domain" })
@EnableJpaRepositories(basePackages = { "com.mypackage.domain", "com.mypackage.infra.persistence" })
public class MyTestConfig {
src / main / test / resources下的application.properties是
liquibase.drop-first=true
spring.jpa.hibernate.ddl-auto=none
答案 0 :(得分:3)
有一个spring.liquibase.dropFirst
配置属性,这可能是您搜索的内容吗?
答案 1 :(得分:0)
不确定这是否完全回答了您的问题。还有另一个属性liquibase.default-schema = schemaNameToCreate
但即便如此,我也无法从头开始创建架构。