小编Luc*_*újo的帖子

Liquibase从JPA实体生成更改日志

我有一个Spring引导,spring数据jpa项目,父项和三个子模块.我的一个模块负责我的JPA实体.我需要从这个实体生成一个带有liquibase的xml更改日志.

在我的liquibase.properties中我有代码:

changeLogFile=src/main/resources/db/changelog/db.changelog-master.xml
url=jdbc:mysql://localhost:3306/test
username=root
password=root
driver=com.mysql.jdbc.Driver
outputChangeLogFile=src/main/resources/db/outputChangeLog/liquibase-outputChangeLog.xml
referenceUrl=hibernate:spring:br.com.company.vacation.domain?dialect=org.hibernate.dialect.MySQLDialect
diffChangeLogFile=src/main/resources/liquibase-diff-changeLog.xml
Run Code Online (Sandbox Code Playgroud)

所以,如果我尝试执行命令:liquibase:diff我收到错误:

在我的pom.xml中,我配置liquibase就像这样:

<plugin>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-maven-plugin</artifactId>
    <version>3.4.1</version>
    <configuration>
        <propertyFile>src/main/resources/liquibase.properties</propertyFile>
    </configuration>
        <dependencies>
            <dependency>
                <groupId>org.liquibase.ext</groupId>
                <artifactId>liquibase-hibernate4</artifactId>
                <version>3.5</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>4.1.7.RELEASE</version>
            </dependency>
        </dependencies>
</plugin>
Run Code Online (Sandbox Code Playgroud)

如果我执行liquibase:generateChangeLog liquibase从我现有的数据库生成日志...但是如果我尝试执行liquibase:diff我收到错误:

[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.4.1:diff (default-cli) on project vacation-club-web: Execution default-cli of goal org.liquibase:liquibase-maven-plugin:3.4.1:diff failed: A required class was missing while executing org.liquibase:liquibase-maven-plugin:3.4.1:diff: org/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.liquibase:liquibase-maven-plugin:3.4.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/lucas.araujo/.m2/repository/org/liquibase/liquibase-maven-plugin/3.4.1/liquibase-maven-plugin-3.4.1.jar
[ERROR] urls[1] …
Run Code Online (Sandbox Code Playgroud)

liquibase spring-data spring-boot liquibase-hibernate

8
推荐指数
1
解决办法
1万
查看次数