updateSQL liquibase命令在运行updateSQL命令行时似乎不会抛出错误,因为它会为变更集生成相关的SQL语句以及要在DATABASECHANGELOG表中创建的条目。
我的要求是我只能生成SQL并将其交给我的DBA。但是,即使在为变更集生成SQL之前,xml中的某个changeSets未能创建,liquibase会抛出错误吗?
请帮忙
答案 0 :(得分:1)
UpdateSQL不会失败。 Liquibase的目的是跟踪哪些更改已应用,并且仅执行"执行"在跳过已经运行的那些时,尚未运行的changeSet。
如果您在常规更新模式下运行,Liquibase将依次直接执行每个changeSet。如果你在updateSql模式下运行,Liquibase实际上不会执行SQL,而是输出它本来运行的内容。
Liquibase不会在updateSQL中抛出任何错误。但是,如果要执行SQL文件的数据库的状态与运行updateSQL的数据库不同,则生成的SQL可能无效。没有重新检查是否在SQL输出中执行了changeSet,它只是一个简单的"运行这些命令"脚本。