我正在尝试使用 Quarkus 中的 Liquibase Maven 插件根据实体包中的实体生成 diff 更改日志。我注意到它需要
referenceUrl
文件中的 liquibase.properties
作为比较的参考。
在Spring框架中,可以通过将引用URL设置为
hibernate:spring:path-to-package?dialect=org.hibernate.dialect.PostgreSQLDialect
之类的内容来实现这一点。但是,我在 Quarkus 中找不到解决方法。
是否有可能在 Quarkus 中实现这一点,或者我应该手动编写变更日志文件?
是的,可以完成,您应该在
liquibase.properties
文件中设置以下属性:
referenceUrl=hibernate:spring:<com.example.your.enitity.package>?dialect=org.hibernate.dialect.<YourDialect>
referenceDriver=liquibase.ext.hibernate.database.connection.HibernateDriver
diffChangeLogFile=src/main/resources/db/liquibase-diff-output.xml
然后,在运行构建后,例如
mvn clean install
(为了确保实体的类文件确实存在),您可以运行类似 mvn liquibase:diff
的操作来生成将实体与数据库进行比较的数据库差异。