首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我把任务放到gradle文件中时,Liquibase数据库迁移没有发生

当我把任务放到gradle文件中时,Liquibase数据库迁移没有发生
EN

Stack Overflow用户
提问于 2021-08-11 07:33:05
回答 1查看 72关注 0票数 0

我为liquibase数据库迁移添加了一个gradle任务,如下所示

代码语言:javascript
复制
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 buildgradlew task dbmigrate时,它输出为成功,并显示"executing dev“字样。但是,当我检查dbs时,没有应用任何表模式更改。

有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-11 12:25:25

看起来你的build.gradle里少了一些东西。我尝试使用额外的update命令执行命令./gradlew task dbmigrate update。这给了我一些错误,比如Liquibase作为运行时依赖项丢失。

我将此代码添加到您的构建文件中,然后当我运行./gradlew task dbmigrate update时,它对我起作用了

代码语言:javascript
复制
repositories {
    mavenCentral()
}

dependencies {
        liquibaseRuntime("org.liquibase:liquibase-core:4.4.3")
        liquibaseRuntime("mysql:mysql-connector-java:5.1.13")
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68737795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档