【发布时间】:2021-10-19 13:51:18
【问题描述】:
如何使用 liquibase 在 SQL Server 中捕获存储过程、模式的功能?
提前感谢您的回复。
【问题讨论】:
标签: sql-server liquibase
如何使用 liquibase 在 SQL Server 中捕获存储过程、模式的功能?
提前感谢您的回复。
【问题讨论】:
标签: sql-server liquibase
使用免费版本的 liquibase,您无法捕获存储过程、函数和触发器。根据official documentation
,此功能仅允许用于商业版本使用商业版的 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 发行版不包含数据库驱动程序,因此您可以自己下载 shell 并将其放入类路径。您也可以明确设置架构名称(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。
【讨论】: