【问题标题】:How to test flyway migration with spring boot?如何使用 Spring Boot 测试 Flyway 迁移?
【发布时间】:2018-10-07 02:23:31
【问题描述】:

我会问你如何测试迁移是否成功。

场景: 在实体的第一个版本中,我们有一些字段。在下一个版本中,我将添加另一个实体,其中包含第一个表中的一些数据。如何测试此数据是否正确迁移。

当然,我可以通过编写 SELECT 等手动检查。

但是有什么方法可以在单元/集成测试中进行测试。

v1

People(
id: Int
name: String
street: String
)

v2

People(
id: Int
name: String
addressId: Int
)

Address(
id: Int
street: String <--- migrated from v1 People table
)

【问题讨论】:

  • 您可以添加集成测试,将所有人实体作为对象列表检索并检查地址,不是吗?
  • 是的,但如果数据库已经存在。我需要有多个实例(迁移前一个,迁移后第二个)。因为通常如果您有集成测试,那么您的 import.sql 是正确的

标签: spring integration-testing flyway


【解决方案1】:

我认为您可以通过设置 Hibernate 验证模式来实现这一点。一旦 Flyway 完成迁移,它将实现“测试”。在您的 application.properties 中,应用以下更改:

spring.jpa.hibernate.ddl-auto=validate

这样,Hibernate 将验证您的表是否符合您的实体定义。否则,您将收到缺少信息的错误。

【讨论】:

    猜你喜欢
    • 2019-08-07
    • 2018-08-16
    • 1970-01-01
    • 2023-03-26
    • 2020-12-31
    • 2021-06-12
    • 2019-05-10
    • 2018-12-11
    • 2021-07-10
    相关资源
    最近更新 更多