【问题标题】:Liquibase: capture stored procedures, functions and triggersLiquibase:捕获存储过程、函数和触发器
【发布时间】:2021-10-19 13:51:18
【问题描述】:

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

提前感谢您的回复。

【问题讨论】:

    标签: sql-server liquibase


    【解决方案1】:

    使用免费版本的 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。

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 2013-12-30
      • 1970-01-01
      • 2014-04-06
      • 2013-01-11
      • 2011-10-07
      • 2019-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多