目前我正在使用 Dropwizard 开发一个小型 Web 服务,使用 hibernate(Dropwizard 中的内置包)和一些迁移(也来自 Dropwizard)连接到 Postgresql DB。
来自 .NET 环境,我习惯了代码优先/以代码为中心的方法。目前,我正在研究基于它们上的 JPA 注释从我的实体类的当前状态生成 migrations.xml。我觉得这是一个可能已经有人解决的案例。
有没有办法根据我正在编写的类自动更新 migrations.xml?
目前我正在使用 Dropwizard 开发一个小型 Web 服务,使用 hibernate(Dropwizard 中的内置包)和一些迁移(也来自 Dropwizard)连接到 Postgresql DB。
来自 .NET 环境,我习惯了代码优先/以代码为中心的方法。目前,我正在研究基于它们上的 JPA 注释从我的实体类的当前状态生成 migrations.xml。我觉得这是一个可能已经有人解决的案例。
有没有办法根据我正在编写的类自动更新 migrations.xml?
有可能的。请参阅https://github.com/liquibase/liquibase-hibernate/wiki上的 liquibase-hibernate 插件。
确保在应用它们之前查看生成的 migrations.xml 更改,因为与任何基于差异的过程一样,模式转换可能不是您想要的,这对数据很重要。例如,如果您重命名一个类,它将生成一个删除 + 创建过程,而不是重命名操作。结果是有效的架构,但您会丢失数据。