Liquibase diffChangeLog不报告存储过程

问题描述

我是Liquibase的新手。我正在使用Liquibase 4.0版和Windows 10家庭版

Starting Liquibase at 23:08:42 (version 4.0.0 #19 built at 2020-07-13 19:45+0000)
Liquibase Version: 4.0.0
Liquibase Community 4.0.0 by Datical

我向DATABASEONE添加了一个表和SP。我还生成了两个数据库之间的差异,并且工作正常。

liquibase diffChangeLog

liquibase.properties

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath=../mssql-jdbc-8.4.0.jre11.jar
url=jdbc:sqlserver://localhost;databaseName=DATABASETWO
username=sa
password=Password123
referenceUrl=jdbc:sqlserver://localhost;databaseName=DATABASEONE
referenceUsername=sa
referencePassword=Password123
changeLogFile=diff.xml

但是,Liquibase不会报告存储过程的差异。

如何获取diffChangeLog中新添加的(或)缺少的存储过程信息?

编辑

我使用了Pro License Key(14天试用版)来生成存储过程的差异

我还生成了liquibase updateSQL > update.sql。现在,我想对另一个数据库运行“ update.sql”。我该怎么办?

解决方法

在生成了命令liquibase updateSQL的update.sql上运行更新> update.sql将返回额外的信息,即调试信息。不只是简单的SQL。您将要:

  • 使用generateChangelog生成一个变更日志文件(我们将其称为change.postgresql.xml)
  • 使用上面生成的changelog文件和目标数据库的URL运行liuqibase更新

注意,如果它们是不同的数据库平台,例如来自postgres-> mysql的数据库,那么您将必须查看目标数据库的非规范db对象的生成变更日志(在本例中为change.postgresql.xml)。此示例为mysql)。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...