当我将任务放入 gradle 文件时,不会发生 Liquibase 数据库迁移
Liquibase db migration not happen when I put the task in gradle file
我为 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
时,打印成功并显示“执行开发”字样。但是,当我检查数据库时,应用了 table 架构更改的 none。
有什么想法吗?谢谢。
您的 build.gradle
中似乎缺少一些内容。我尝试执行命令 ./gradlew task dbmigrate update
,因此使用额外的 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")
}
我为 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
时,打印成功并显示“执行开发”字样。但是,当我检查数据库时,应用了 table 架构更改的 none。
有什么想法吗?谢谢。
您的 build.gradle
中似乎缺少一些内容。我尝试执行命令 ./gradlew task dbmigrate update
,因此使用额外的 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")
}