Liquibase开启output模式

问题描述

感觉Liquibase的资料好少,基本都是讲怎么直接往数据库更新,不知怎么实现它的SQL Output模式呢,官网也只是提了一下,翻了好久没找到在哪可以设置。

问题出现的环境背景及自己尝试过哪些方法

现在已经可以通过gradle插件liquibase-gradle-plugin实现直接更新数据库内容,但目标是将其语句生成一个新的sql文件。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

build.gradle

    liquibase {
        activities {
            dev {
                changeLogFile "${rootProject.projectDir}/db/liquibase/changelog-master.yaml"
                url 'jdbc:MySQL://localhost:3306/windcoder?characterEncoding=utf8&useSSL=false'
                driver "com.mysql.jdbc.Driver"
                username 'windcoder'
                password 'root'
                outputFile "${rootProject.projectDir}/db/test.sql"
            }
            runList = "dev" // 这里代表选择哪一个配置 可用参数代替
        }

    }

changelog-master.yaml

databaseChangeLog:
- changeSet:
      id: 1
      author: windcoder
      changes:
        - sqlFile:
            encoding: utf8
            path: db/mysql/test1.sql

test1.sql

INSERT INTO `sys_role` ( `name`, `remark`,display_order,created_date,last_modified_date,created_by, last_modified_by) VALUES ('超级管理员', '管理者',1,now(),now(),2,2);

你期待的结果是什么?实际看到的错误信息又是什么?

期望能生成test.sql文件,现在执行gradle update只能直接存到数据库。

阅读 1.8k
1 个回答

偶然间试了下gradle updateSQL,成功了。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题