【问题标题】:How to create Liquibase Change Log file for new tables?如何为新表创建 Liquibase 更改日志文件?
【发布时间】:2011-11-12 17:18:18
【问题描述】:

我正在使用 Hibernate 2 + Spring 3 + Liquibase 1.9。 我已经像往常一样使用 Hibernate 注释创建了我的实体类 现在我想自动生成应该包含 DB CREATE 语句的 Liquibase 更改日志。 我不想手动创建更改日志 XML 文件,因为这感觉乏味且容易出错,尤其是第一次。

令我困惑的是,在 maven 上没有 maven 目标来查看 mt 实体类并以与 hbm2ddl 类似的方式生成 Liquibase 更改日志?

我在 Google 上搜索了很多页面,但都无济于事,它们似乎将我指向 Liquibase 命令行和一些 ANT 脚本,但在 maven 上应该是可能的!

所以我想我的问题是:如何调用一个进程来为用 JPA 注释编写的新实体类生成 Liquibase 更改日志?

谢谢

【问题讨论】:

    标签: hibernate maven annotations liquibase changelog


    【解决方案1】:

    此时,liquibase/hibernate 集成不支持 JPA 注释用于 hibernate 比较。

    当 hibernate 集成确实支持 JPA 时,您仍然需要确保生成的 changeSets 实际上符合您的预期,因为任何数据库差异工具都不了解更改的意图(请参阅http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html)。出于这个原因,我倾向于从一开始就手动编写变更集。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,并通过首先使用 hibernate hbm2ddl 创建数据库(设置 hibernate.hbm2ddl.auto 来创建或更新),然后针对生成的数据库执行 liquibase generateChangeLog 命令来解决它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-10
        • 2020-02-12
        • 2015-08-01
        • 2020-11-02
        • 2015-01-27
        • 2023-04-03
        • 2019-03-30
        相关资源
        最近更新 更多