我为liquibase数据库迁移添加了一个gradle任务,如下所示
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.liquibase:liquibase-core:4.4.3'
classpath "org.liquibase:liquibase-gradle-plugin:2.0.4"
classpath 'mysql:mysql-connector-java:5.1.13'
}
}
plugins {
id 'java'
id 'org.liquibase.gradle' version '2.0.4'
}
task dbmigrate {
doLast {
println "executing dev"
liquibase {
activities {
schema1 {
changeLogFile "$projectDir/src/main/resources/db/migrations.xml"
url 'jdbc:mysql://localhost:3306/bmw?zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8&serverTimezone=UTC'
username 'root'
password 'root'
driver 'com.mysql.jdbc.Driver'
}
schema2 {
changeLogFile '$projectDir/src/main/resources/db/migrations.xml'
url 'jdbc:mysql://localhost:3306/vw?zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8&serverTimezone=UTC'
username 'root'
password 'root'
driver 'com.mysql.jdbc.Driver'
}
}
runList = 'schema1, schema2'
}
}
}
build.dependsOn dbmigrate当我运行gradlew build或gradlew task dbmigrate时,它输出为成功,并显示"executing dev“字样。但是,当我检查dbs时,没有应用任何表模式更改。
有什么想法吗?谢谢。
发布于 2021-08-11 12:25:25
看起来你的build.gradle里少了一些东西。我尝试使用额外的update命令执行命令./gradlew task dbmigrate update。这给了我一些错误,比如Liquibase作为运行时依赖项丢失。
我将此代码添加到您的构建文件中,然后当我运行./gradlew task dbmigrate update时,它对我起作用了
repositories {
mavenCentral()
}
dependencies {
liquibaseRuntime("org.liquibase:liquibase-core:4.4.3")
liquibaseRuntime("mysql:mysql-connector-java:5.1.13")
}https://stackoverflow.com/questions/68737795
复制相似问题