问题描述
如何使用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。