Liquibase:捕获存储过程,函数和触发器

问题描述

如何使用liquibase捕获SQL Server中的存储过程,模式的功能?

预先感谢您的回复。

解决方法

使用liquibase的免费版本,您无法捕获存储过程,函数和触发器。根据{{​​3}}

,此功能仅适用于商业版本

在商业版本的liquibase中,您可以使用generateChangeLog命令来生成变更日志文件,该文件以xml格式包含有关给定架构的全部信息。

liquibase
--changeLogFile=dbchangelog.xml
--driver=oracle.jdbc.OracleDriver
--classpath=ojdbc14.jar
--url="jdbc:oracle:thin:@<IP OR HOSTNAME>:<PORT>:<SERVICE NAME OR SID>"
--defaulSchemaName=<shemaName>
--username=<USERNAME>
--password=<PASSWORD>
generateChangeLog

liquibase发行版不包含数据库驱动程序,因此您可以用自己的外壳程序对其进行下载并将其放置到类路径中。您也可以显式设置架构名称(oracle不需要,因为liquibase将使用与给定用户关联的架构)。

如果要生成普通SQL,则应使用updateSQL命令

liquibase
--changeLogFile=dbchangelog.xml
--driver=oracle.jdbc.OracleDriver
--classpath=ojdbc14.jar
--url="jdbc:oracle:thin:@<IP OR HOSTNAME>:<PORT>:<SERVICE NAME OR SID>"
--username=<USERNAME>
--password=<PASSWORD>
updateSQL

在这里,您应该使用先前通过generateChangeLog命令生成的dbchangelog.xml文件。您应该设置适当的数据库URL和凭据,因为liquibase将生成特定于数据库的SQL。

相关问答

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