我会问你,如果迁移是成功的,你是如何测试的。
方案: 在实体的第一个版本中,我们有一些字段。在下一个版本中,我添加了另一个实体,其中包含来自第一个表的一些数据。如何测试此数据是否正确迁移。
当然我可以通过编写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
)
答案 0 :(得分:0)
我认为您可以通过设置Hibernate验证模式来实现此目的。它将实现一个&#34;测试&#34;一旦Flyway完成迁移。在application.properties中,应用以下更改:
spring.jpa.hibernate.ddl-auto=validate
有了这个,Hibernate将验证您的表是否符合您的实体定义。如果没有,您将收到错误信息的错误。