我正在尝试使用我在我@Entity
的 s中所做的更改生成一个变更集
我有以下 gradle 设置。我正在使用这些插件 liquibase-gradle-plugin liquibase-hibernate
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-data-rest')
compile('org.springframework.boot:spring-boot-starter-hateoas')
compile('org.springframework.boot:spring-boot-starter-jooq')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-mail')
compile('com.github.waffle:waffle-spring-boot-starter:1.9.0')
compile('com.oracle.jdbc:ojdbc8:12.2.0.1')
runtime('org.springframework.boot:spring-boot-devtools')
compileOnly('org.projectlombok:lombok')
apt('org.projectlombok:lombok:1.18.2')
liquibaseRuntime('org.liquibase:liquibase-core:3.6.2')
liquibaseRuntime('org.liquibase:liquibase-groovy-dsl:2.0.1')
liquibaseRuntime('org.liquibase.ext:liquibase-hibernate5:3.6')
liquibaseRuntime('com.oracle.jdbc:ojdbc8:12.2.0.1')
liquibaseRuntime('org.springframework.boot:spring-boot-starter-data-jpa')
liquibaseRuntime sourceSets.main.output
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.restdocs:spring-restdocs-mockmvc')
}
diff.dependsOn compileJava
diffChangeLog.dependsOn compileJava
generateChangelog.dependsOn compileJava
liquibase {
activities {
main {
changeLogFile 'main.groovy'
referenceUrl 'jdbc:oracle:thin:@localhost:1521:XE'
referenceUsername 'user'
referencePassword 'pass'
url 'hibernate:spring:com.example' +
'?dialect=org.hibernate.dialect.Oracle10gDialect' +
'&hibernate.enhanced_id=true'
}
}
runList = 'main'
}
脚步
- .\gradlew diffChangeLog
- .\gradlew 更新
- 观察初始数据库是否已正确创建
- 观察 DATABASECHANGELOG 表已正确填充
- 将属性添加到
@Entity
- .\gradlew diffChangeLog
- 请注意,没有新的变更集被添加到
main.groovy
文件中。相反,实体的现有变更集已被更改。让一切变得毫无用处!
我究竟做错了什么?