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。