【问题标题】:Liquibase doesn't create or replace view using sqlFileLiquibase 不使用 sqlFile 创建或替换视图
【发布时间】:2023-04-11 11:04:01
【问题描述】:

我有许多用于创建或替换视图的 sql 文件,我想通过 liquibase 更改日志中的 sqlFile 重用它们,而不是使用 createView xml 标记。

我用:

<sqlFile path="VI_NAME.sql" relativeToChangelogFile="true"/>

改为:

<createView viewName="VI_NAME" replaceIfExists="true">
    SELECT
    ...
</createView>

但是视图不是用这种方法创建的! 我调试使用createView的方式,liquibae生成的sql与sql文件中的相同(仅将架构添加到视图名称中-但这并不能解决我的问题)

PS: 记录sqlFileVI_NAME.sql 文件中的 SQL 已执行

Liquibase 版本:3.1.1

【问题讨论】:

  • 您也可以尝试使用一个不存在的sql文件来查看liquibase日志文件中将显示什么消息。
  • 嗯 .. 好像 liquibase 不写那个文件不存在.. 我的路径有误(
  • 我想知道这是否是问题所在。该错误已在即将发布的 3.2.0 版本中修复

标签: sql view liquibase


【解决方案1】:

使用runOnChange 属性。

<changeSet author="liquibase" id="my_view" runOnChange="true"><sqlFile path="VI_NAME.sql"/>
</changeSet>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 2010-11-17
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多