【发布时间】:2013-07-16 08:45:25
【问题描述】:
我使用 liquibase 根据变更集生成 SQL 文件。但是当我使用 liquibase:updateSQL 时,它不会在生成 SQL 文件之前检查先决条件
我有一个前提条件是在创建表之前检查表是否存在。
在这种情况下,即使表存在,“仍然会生成创建表 SQL 语句”。
当我运行 liquibase:update 目标时,此前提条件已正确检查。
那么 liquibase 在生成 sql 文件时不检查前置条件吗?
谢谢。
【问题讨论】:
-
我建议对 liquibase 项目提出异议。我猜先决条件很难呈现为纯 SQL。例如,该表可能存在于您的数据库实例中,但可能在另一个数据库实例中丢失...当通过 liquibase 运行迁移时,它可以使用 java.lang.基于 SQL 的解决方案可能必须在 Oracle 上生成 PL/SQL,但在不支持存储过程的数据库上根本不起作用。有趣的问题。
标签: liquibase