如何使用liquibase捕获SQL Server中模式的存储过程、函数?
提前感谢您的回复。
发布于 2020-08-21 02:59:34
使用免费版本的liquibase,您无法捕获存储过程、函数和触发器。根据official documentation,此功能仅允许用于商业版本
使用liquibase的商业版本,您可以使用generateChangeLog命令生成changelog文件,该文件以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>
generateChangeLogliquibase发行版不包含数据库驱动程序,因此您可以手动下载它并将其放到类路径中。您还可以显式地设置模式名( 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。
https://stackoverflow.com/questions/63490026
复制相似问题